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: 50
Popularity: 3.046012
First Submitted: 2017-02-09 20:36
Last Updated: 2018-01-26 10:28

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 2018-01-27 23:34

ArnaudNux: I can not reproduce that error in a clean chroot. Please read the pinned comments and retry your build in a clean chroot.

ArnaudNux commented on 2018-01-27 20:52

graphicsview/qgraphicswidget.cpp:1443:5: note: here case QEvent::GraphicsSceneMouseMove: ^~~~ graphicsview/qgraphicswidget.cpp: In member function 'virtual void QGraphicsWidget::changeEvent(QEvent*)': graphicsview/qgraphicswidget.cpp:1484:9: warning: this statement may fall through [-Wimplicit-fallthrough=] if (d->layout) ^~ graphicsview/qgraphicswidget.cpp:1486:5: note: here case QEvent::FontChange: ^~~~ moc graphicsview/qgraphicswidget.h compiling graphicsview/qgraphicswidget_p.cpp compiling graphicsview/qgridlayoutengine.cpp compiling graphicsview/qsimplex_p.cpp compiling graphicsview/qgraphicsanchorlayout_p.cpp compiling graphicsview/qgraphicsanchorlayout.cpp compiling util/qsystemtrayicon.cpp moc util/qcompleter.h compiling util/qcompleter.cpp moc util/qdesktopservices.cpp compiling util/qdesktopservices.cpp compiling util/qundogroup.cpp compiling util/qundostack.cpp moc util/qundoview.cpp compiling util/qundoview.cpp make[1]: No rule to make target 'util/qabstractsystemtrayiconsys.cpp', needed by '.obj/release-shared/qabstractsystemtrayiconsys.o'. Stop. make[1]: Leaving directory '/home/arnaud/lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/gui' make: [Makefile:423: sub-gui-make_default-ordered] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

WoefulDerelict commented on 2018-01-26 09:43

I've merged the changes made in [Extra] to mend issues caused by ICU 60.1 and ensured lib32-icu is properly invited to the party if ICU is going to jump in and break the build.

ghthor commented on 2018-01-26 02:56

I managed to get it to build by applying this[1] change from the qt4 [extra] package. It was related to the icu-60.1 version bump. I've pushed that change and an addition of lib32-icu (optional) dependancy to my github[2].

[1] https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/qt4&id=5e7388ab98ceb32ccc2b44caba3259c371933b1e [2] https://github.com/ghthor/lib32-qt4.git

basil commented on 2018-01-06 15:31

@rafaelff Did you read the two pinned comments from WoefulDerelict at the top? I have a bash script that did all the dirty work. It was working at some point, not sure if it still does, but for sure it's worth a try.

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

Note also the comments at the bottom. They might further help you if the build is still not working.

rafaelff commented on 2018-01-06 14:06

Build failed. Here is the build() output: https://ptpb.pw/Pf5p - any ideia?

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.

All comments