Package Details: lib32-qt4 4.8.7-13

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: 37
Popularity: 6.022268
First Submitted: 2017-02-09 20:36
Last Updated: 2017-05-13 19:42

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 wiki. Please refer to this article for more information: [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. Clone the lib32-libmng repository and create the package using makepkg. Alternatively, lib32-libmng is available for download via the 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.

WoefulDerelict commented on 2017-02-25 15:52

The QT 4 build system is prone to some odd hiccups. If it finds development resources on the system it includes them in the build which often results in inappropriate behaviour. This is exacerbated by choices made by the maintainers of some key lib32- packages in the core binary repositories that effect other lib32- builds. Building this package in a clean chroot or other form of container will prevent unexpected issues. [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.

All build errors will be ignored unless the build was performed inside a clean, properly configured container. This is not an issue with the PKGBUILD but the Qt 4 build system interacting with extraneous packages. 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

WoefulDerelict commented on 2017-07-12 16:20

dimytch: The patches used here are mirrored from qt4 in [Extra]. I'll investigate this when I have a chance; however, if you feel this patch is no longer necessary it would be prudent to file an issue with qt4 in [Extra] so this can be corrected in both builds.

dimytch commented on 2017-07-12 11:52

This patch is not needed anymore.

prepare() {
...
# http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/
# patch -p1 -i "${srcdir}"/kubuntu_14_systemtrayicon.diff
...

JohnRobson commented on 2017-06-04 21:45

People, follow this, will work perfectly:

https://gist.github.com/basilschneider/2422cebb355427d6f4063dfde52fb371

WoefulDerelict commented on 2017-05-27 13:29

In order to appease a small group of users who've: commented here [severach], posted and immediately deleted comments (which I still get a copy of via e-mail) and even contacted me via e-mail requesting multilib support for legacy qtwebkit applications one has created lib32-qtwebkit. This works with applications like Skype 4.3.0.37 that are only distributed as 32-bit binaries.

Of course not only does lib32-qtwebkit depend on lib32-qt4, as many users have already discovered with qtwebkit, it will also interfere with building lib32-qt4 once installed. This awkward situation, which will likely complicate future updates, can be resolved by building lib32-qt4 in a container.

The Qt4 port of webkit takes about twice as long to build as the Qt4 blob without webkit. If you do not have the patience for a long build seek out a binary package in one of the unofficial repos.

WoefulDerelict commented on 2017-05-25 22:21

biosin: Helpers do odd and stupid things sometimes. If the source is something you recognize you might be able to read through it and find out what pacaur is doing that causes the issue. Sadly, while these tools often make maintaining one's system easier the added complexity they introduce can lead to breakage during builds. If one's helper fails it is always best to fall back to using makepkg on a snapshot of the resources in the AUR.

stefonarch: Not sure what's up there at all. There are now patches allowing this to build against OpenSSL 1.1 so lib32-openssl-1.0 was dropped as a dependency. It looks like it is in the webkit source which shouldn't be part of the build as it is explicitly disabled. There is likely something on your system interfering with the build. I can't reproduce the error in a clean chroot or on a dirty test box.

stefonarch commented on 2017-05-21 11:34

Same error as antoniovazquez on 2017-04-24 12:13:

make[2]: *** [Makefile.WebKit:497627: .obj/release-static/MediaPlayer.o] Error 1
make[2]: uscita dalla directory "/tmp/makepkg/lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore"
make[1]: *** [Makefile.WebKit:79: sub-WebCore-make_default-ordered] Error 2
make[1]: uscita dalla directory "/tmp/makepkg/lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source"
make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2

yaourt -S lib32-openssl-1.0 solves for now.

biosin commented on 2017-05-21 09:37

I don't know why, but each time I let pacaur download it together with aria2c, it didn't work, there was just a small file in the end. I downloaded it manually (with aria2c) and could makepkg -oi, so it works...

WoefulDerelict commented on 2017-05-20 15:05

biosin: Yes, the checksum in the PKGBUILD is correct. Perhaps try fetching the source from an alternate location. http://master.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz

Unfortunately upstream hasn't provided any resources users can utilize to verify the authenticity or integrity of the archive; however, local testing yields the same sha512sum on a fresh download of the tarball.

biosin commented on 2017-05-20 11:14

I'm sorry but is the checksum correct for qt-everywhere-opensource-src-4.8.7.tar.gz? My download has b8085c86254cbe951aec73d8d2fedf9285fea94d487903bda40e3480193e68a55c63fc91d01635fcd5198c9d1555657eaede4961474a624137aa211193987a57 whereas in the PKGBUILD it says f9f81a2e7205e1fd05c8d923dc73244f29aa33f951fa6b7c5c8193449328b37084796b9b71ad0c317e4e6fd00017c10ea5d67b1b2032551cde00548522218125. Unfortunately on the website there are only MD5 and SHA-{1,256} given.

derblub commented on 2017-05-19 23:30

What's going on? Compilation is taking hours..

All comments