Package Details: lib32-qt4 4.8.7-14

Git Clone URL: https://aur.archlinux.org/lib32-qt4.git (read-only)
Package Base: lib32-qt4
Description: A cross-platform application and UI framework (32-bit)
Upstream URL: http://www.qt.io
Licenses: custom, GPL3, LGPL, FDL
Conflicts: lib32-qt
Replaces: lib32-qt<=4.8.4
Submitter: arojas
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 51
Popularity: 0.402355
First Submitted: 2017-02-09 20:36
Last Updated: 2018-07-10 17:40

Sources (13)

Pinned Comments

WoefulDerelict commented on 2017-03-07 19:07

This package often requires special care to build. If building this with makepkg fails it will be necessary to construct the package in a clean chroot. Using an AUR helper is not recommended; however, aurutils does provide the option to build in the clean chroot.

The process of building this package in a clean chroot is rendered exceptionally simple with the help of scripts in the devtools package and can be completed via the following steps. These summarize the information provided by the Arch Linux DeveloperWiki and assume familiarity with git or the process of downloading a snapshot from the AUR and extracting the archive. Please refer to this article for more information about the devtools scripts and building in the clean chroot: [https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot]

Prerequisites: This process uses scripts in devtools to simplify the procedure: please install this package before beginning. The lib32-libmng package is required and must be built or downloaded from the Arch Linux Archive [https://wiki.archlinux.org/index.php/Arch_Linux_Archive]. QT 4 depends on this package and it is no longer found in the binary repositories.

  1. Clone the lib32-qt4 repository or extract the snapshot archive into a clean working directory.

  2. Enter the directory containing the package source. (PKGBUILD and patches.)

  3. Execute the following command, supplying the location of lib32-libmng: multilib-build -- -I /<somewhere>/lib32-libmng-2.0.3-1-x86_64.pkg.tar.xz

  4. Execute pacman with the -U flag to install the resulting package: just as one would with any other local package. Note: lib32-libmng would need to be installed in a similar fashion if it isn't already present on your system.

WoefulDerelict commented on 2017-02-25 15:52

The QT 4 build system is prone to some odd behaviour: especially if the qtwebkit package is installed. [https://bbs.archlinux.org/viewtopic.php?id=132416] [https://bugreports.qt.io/browse/QTBUG-20236]

If your build fails with the following [error: expected class-name before ‘{’ token] when compiling please build in a clean chroot.

If your build fails with error messages about skipping incompatible files and being unable to find a specific file in a compatible format, especially while linking, you will need to build in a clean container to avoid issues.

Building this package in a clean chroot or other form of container will prevent unexpected issues.

All build errors will be ignored unless the build was performed inside a clean, properly configured container. For more information about building in a clean chroot see this article: [https://wiki.archlinux.org/index.php/DeveloperWiki:Building_in_a_Clean_Chroot]

Big thanks to int [at] arcor [dot] de for doing the legwork to track down the relevant issue reports and sending them my way.

The archlinuxgr repository contains a binary copy of this package courtesy of ranger.

[archlinuxgr] Server = http://archlinuxgr.tiven.org/archlinux/$arch

WoefulDerelict commented on 2017-02-21 00:07

billypilgrim: I don't recall there being a pkgrel 6 out here in the AUR. It was dropped at pkgrel 7 and there is still a binary package for 4.8.7-7 in the Arch Linux archive.

I had noticed some builds in temp so I'd tested against this locally and it didn't result in a failure. This is large but only takes up about 2 GB. With 8 GB of ram tmpfs is limited to 4GB of space in a default Arch Linux deployment which was still more than enough space for it to succeed in my VM test environment. Were this causing the issue I'd have expected to see something in the output about there being no space left on a device.

n0bs commented on 2017-02-20 23:44

I'm getting the following error with both pacaur and manually downloading the snapshot and running makepkg:

`The QtDBus module cannot be enabled because libdbus-1 version 0.93 was not found.
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
==> ERROR: A failure occurred in build().
Aborting...`

ranger commented on 2017-02-20 22:12

billypilgrim,

I also build in the /tmp.
Maybe this is the problem?

billypilgrim commented on 2017-02-20 22:10

And yes it seems to fail at a different point every time I try to build it. Which is weird....

billypilgrim commented on 2017-02-20 22:09

I'm also on an Intel i7, 11GB RAM, pure arch, only the multilib repository, using normal kernel. I'm using bash. I haven't changed anything to do with tmpfs, although I have set my packages to be made in /tmp. I last synced my machine yesterday -- I was fully up to date before I tried making the package. I previously had pkgver -6 from the AUR working, but didn't try making -7.

My makepkg.conf only has a couple of tweaks, but here it is in case it helps:
http://ice9.ddns.net/makepkg.conf

WoefulDerelict commented on 2017-02-20 15:29

ranger: Thanks for the info. I'm constructing a test based on the info to see if I can reproduce this error under a suspected condition.

dkaylor: I agree that using the pkgrel to differentiate the revisions would make it easy to refer to a specific set of changes when reporting an issue and help avoid some confusion; however, the AUR is backed by git and it is just as easy to refer to changes by their commit/fingerprint.

ranger commented on 2017-02-20 12:35

I have the same problem with billypilgrim. Fails with exactly the same error.

intel i7, 8GB RAM, pure arch, no testing repo, system up to date, using lts kernel

I was able to build -7 a few days ago...

dkaylor commented on 2017-02-20 10:29

@WoefulDerelict

"makepkg -c != makepkg -C While the former cleans up after the the package has been make the later cleans up existing $srcdir"

I understand the difference just fine, thanks. I know how to read a man page. As I said, I had no existing src or pkg directories; I had no existing anything, it was a new build.

I get your points about not bumping up the pkgrelease. It confuses things however, because those of us that can't get a successful build have to reference "the old -8", vs. "your new -8" to make the distinction.

WoefulDerelict commented on 2017-02-19 23:54

billypilgrim: Thanks very much for providing me with the complete output. This will probably take me a tick to comb through as nothing is immediately jumping out. The build appears to have failed for you at a different point with each release. In the current release this appears to be when attempting to compile helpviewer_qwv.cpp which happens to be a common sticking point with other users.

I apologize as this might start to feel a bit like an interrogation; however, the more I narrow things down the closer one becomes to rooting out the issue and a solution. Could you provide me with some details about your system? Specifically I'm interested in some minimal hardware specs (what CPU you have, how much memory is in your system) and a few key items about your configuration. Are you running Arch Linux proper or a spin? Are you using any of the testing or foreign repositories? When was the last time you synced your system with the repositories? Did you alter the tmpfs settings? Have you changed makepkg.conf and if so would you mind sharing it? Are you using bash or another shell? Am I correct in understanding you have not been able to successfully build this using any revision of the PKGBUILD posted here?

billypilgrim commented on 2017-02-19 21:14

Hi. Tried rebuilding with make -j1 and got the same result.

The full build output is available here:
http://ice9.ddns.net/build_j1.out