Package Details: lib32-qt4 4.8.7-15

Git Clone URL: https://aur.archlinux.org/lib32-qt4.git (read-only, click to copy)
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
Submitter: arojas
Maintainer: WoefulDerelict
Last Packager: WoefulDerelict
Votes: 51
Popularity: 0.000000
First Submitted: 2017-02-09 20:36 (UTC)
Last Updated: 2019-11-19 22:10 (UTC)

Pinned Comments

WoefulDerelict commented on 2017-03-07 19:07 (UTC) (edited on 2018-08-26 01:22 (UTC) by WoefulDerelict)

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 (UTC) (edited on 2018-08-26 00:47 (UTC) by WoefulDerelict)

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

Latest Comments

« First ‹ Previous 1 .. 6 7 8 9 10 11 12 13 14 15 16 .. 25 Next › Last »

mozo commented on 2017-03-07 18:31 (UTC)

I read the wiki and also tried to install in a clean chroot. Googled it and it is yet unclear operation for me. I'm not a developer, I'm a user. And english isn't my native language wich make things harder. Will you understand how to build in a clean chrood explained in Bulgarian? As I already said - I'll stick with binary.

WoefulDerelict commented on 2017-03-07 18:22 (UTC)

mozo: lib32-qt4 has been part of [Multilib] since at least 2013 according to the files in the Arch Linux Archive. I find it highly unlikely you've had to build this package frequently if at all in the past as it was only recently dropped from the binary repositories. Perhaps I'm wrong and you're intimately familiar with the ABS, in which case you should know QT 4 is legacy software and a great many packages have changed on the system over 5 years. It it unreasonable to expect build behaviour to remain the same when the underlying software has gone through multiple updates. Creating a clean chroot is essentially the same as installing Arch Linux. It would be entirely possible to use the installation tools to create and enter a new clean chroot. The Arch Linux developers have been kind enough to provide extra tooling in the devtools package. The wiki article linked provides a detailed explanation and examples of how the tooling is used. Arch Linux users are expected to be able to cope with documentation and solve problems on their own. If one had bothered to read and follow the instructions it should prove exceedingly simple to build this in a clean chroot as has been repeatedly suggested. Information pointing to the unofficial binary repository was provided should users not want to fuss with building the software on their own and hopefully will remain as a convenient option as this is a sizeable toolkit and takes a while to build. Which option you choose is entirely up to you.

mozo commented on 2017-03-07 17:56 (UTC) (edited on 2017-03-07 17:59 (UTC) by mozo)

WoefulDerelict: past five years since I use Arch, older lib32-qt4 versions compiled without any problems . I haven't any problems compiling all of my AUR packages too. Just lib32-qt4. I'll stick with binary for I don't know how to compile in clean chroot as most people.

WoefulDerelict commented on 2017-03-07 15:25 (UTC)

mozo: There is no viable way for me to create a PKGBUILD that would prevent users from having conflicting software installed during the build process. Were you to download the resources used to create the qt4 package and attempt to build it it would fail for you in exactly the same way. The problem isn't in the PKGBUILD instructions or the patches it applies to the QT 4 source code. The QT 4 build system is detecting additional resources installed on your system and attempting to include them in the build process which results in unexpected behaviour and errors. As one mentioned earlier, the instructions in this PKGBUILD and the patches it applies to the source are a mirror of those used to build the binary package in [Extra]. The only way to avoid unexpected errors when building QT 4 is to build it in a clean container where only the resources necessary to build it are present. It is not a requirement of the Arch Packaging Standards [https://wiki.archlinux.org/index.php/Arch_packaging_standards] that this be able to cope with dirty build envirnments. The documentation does; however, encourage the building of packages in clean containers.

mozo commented on 2017-03-07 15:06 (UTC)

The new version also fails to compile: http://pastebin.com/1nkSnptC Please, make it work just like all other packages in Arch. We haven't problems at all, just lib32-qt4. Thanks to ranger for the binary. Great work!

WoefulDerelict commented on 2017-03-07 14:18 (UTC)

remussatala: There is a package on your system that is breaking the build. You will need to compile the software in a clean container like the pinned comment suggests.

<deleted-account> commented on 2017-03-07 05:18 (UTC)

rm -f libQtWebKit.so.4.10.4 libQtWebKit.so libQtWebKit.so.4 libQtWebKit.so.4.10 linking ../../../../../../lib/libQtWebKit.so.4.10.4 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/../../../libgstapp-0.10.so when searching for -lgstapp-0.10 /usr/bin/ld: skipping incompatible /usr/lib/libgstapp-0.10.so when searching for -lgstapp-0.10 /usr/bin/ld: cannot find -lgstapp-0.10 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/../../../libgstinterfaces-0.10.so when searching for -lgstinterfaces-0.10 /usr/bin/ld: skipping incompatible /usr/lib/libgstinterfaces-0.10.so when searching for -lgstinterfaces-0.10 /usr/bin/ld: cannot find -lgstinterfaces-0.10 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/../../../libgstpbutils-0.10.so when searching for -lgstpbutils-0.10 /usr/bin/ld: skipping incompatible /usr/lib/libgstpbutils-0.10.so when searching for -lgstpbutils-0.10 /usr/bin/ld: cannot find -lgstpbutils-0.10 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/../../../libgstvideo-0.10.so when searching for -lgstvideo-0.10 /usr/bin/ld: skipping incompatible /usr/lib/libgstvideo-0.10.so when searching for -lgstvideo-0.10 /usr/bin/ld: cannot find -lgstvideo-0.10 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/../../../libgstbase-0.10.so when searching for -lgstbase-0.10 /usr/bin/ld: skipping incompatible /usr/lib/libgstbase-0.10.so when searching for -lgstbase-0.10 /usr/bin/ld: cannot find -lgstbase-0.10 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.1/../../../libgstreamer-0.10.so when searching for -lgstreamer-0.10 /usr/bin/ld: skipping incompatible /usr/lib/libgstreamer-0.10.so when searching for -lgstreamer-0.10 /usr/bin/ld: cannot find -lgstreamer-0.10 collect2: error: ld returned 1 exit status make[2]: *** [Makefile.WebKit.QtWebKit:1210: ../../../../../../lib/libQtWebKit.so.4.10.4] Error 1 make[2]: Leaving directory '/tmp/yaourt-tmp-user/aur-lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebKit/qt' make[1]: *** [Makefile.WebKit:115: sub-WebKit-qt-QtWebKit-pro-make_default-ordered] Error 2 make[1]: Leaving directory '/tmp/yaourt-tmp-user/aur-lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source' make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2

WoefulDerelict commented on 2017-03-06 16:22 (UTC) (edited on 2017-03-06 16:29 (UTC) by WoefulDerelict)

ranger: Thanks for the support. Hopefully that will prove less confusing a path than building in a container.

ranger commented on 2017-03-06 16:20 (UTC) (edited on 2017-03-06 16:20 (UTC) by ranger)

As many people continue to have problem building this package, I uploaded the latest version to the archlinuxgr repo

WoefulDerelict commented on 2017-03-06 16:18 (UTC)

tc1384: qtwebkit is not the only package capable of interacting with this build which is why the first line clearly states the only way to avoid issues it to build in a clean container. slav: It was pointless to include that snippet as it contains no relevant information as to what the failure was, only that earlier something had failed. Something on your local system is likely interacting with QT 4's build system in an unpleasant way. Build it in a clean chroot or other form of container without extraneous packages.