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.682643
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

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 ... Next › Last »

WoefulDerelict commented on 2017-04-25 17:55

darkbasic: While you are the first user to post a comment with that output it does not seem to be a new issue. If one parses the output correctly it appears that you attempted to build package release 10 against lib32-openssl 1:1.1.0.e which was known not to work. QT4 is not compatible with OpenSSL 1.1.0 and the issue was noted here when OpenSSL 1.1.0 hit testing. Release 11 should work so long as all the prerequisites have been met as it builds against a new lib32-openssl-1.0 package which should provide all the expected symbols.

darkbasic commented on 2017-04-25 11:05

compiling .moc/release-shared/moc_qnetworkaccessbackend_p.cpp
In file included from ssl/qsslsocket_openssl_symbols.cpp:47:0:
ssl/qsslsocket_openssl_symbols.cpp: In function ‘const SSL_METHOD* q_SSLv3_client_method()’:
ssl/qsslsocket_openssl_symbols_p.h:169:39: error: ‘SSLv3_client_method’ was not declared in this scope
ret q_##func(arg) { funcret func(a); }
^
ssl/qsslsocket_openssl_symbols.cpp:231:1: note: in expansion of macro ‘DEFINEFUNC’
DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
^~~~~~~~~~
ssl/qsslsocket_openssl_symbols.cpp: In function ‘const SSL_METHOD* q_SSLv3_server_method()’:
ssl/qsslsocket_openssl_symbols_p.h:169:39: error: ‘SSLv3_server_method’ was not declared in this scope
ret q_##func(arg) { funcret func(a); }
^
ssl/qsslsocket_openssl_symbols.cpp:237:1: note: in expansion of macro ‘DEFINEFUNC’
DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
^~~~~~~~~~
compiling .moc/release-shared/moc_qnetworkaccessdebugpipebackend_p.cpp
make[1]: *** [Makefile:18393: .obj/release-shared/qsslsocket_openssl_symbols.o] Error 1


Is this a new error? I already removed qtwebkit since a long time.

WoefulDerelict commented on 2017-04-25 05:50

DellArch: After building one installs a local package with: pacman -U <path to pkg>

If one has just completed step 3 installing the result would be as simple as: pacman -U lib32-qt4 4.8.7-10-x86_64.pkg.tar.xz

DellArch commented on 2017-04-24 13:25

I followed the steps without any errors back, but running
$yaourt -Syua
I still have the package not upgraded

antoniovazquez commented on 2017-04-24 12:13

../JavaScriptCore/runtime/JSGlobalObject.h: In constructor ‘JSC::JSGlobalObject::JSGlobalObject(JSC::JSGlobalData&, JSC::Structure*, JSC::JSObject*)’:
../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef ‘dummyJSGlobalObject_has_only_a_single_slot’ locally defined but not used [-Wunused-local-typedefs]
#define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1]
^
../JavaScriptCore/runtime/JSGlobalObject.h:140:13: note: in expansion of macro ‘COMPILE_ASSERT’
COMPILE_ASSERT(JSGlobalObject::AnonymousSlotCount == 1, JSGlobalObject_has_only_a_single_slot);
^~~~~~~~~~~~~~
In file included from /usr/include/unicode/utypes.h:38:0,
from /usr/include/unicode/ucnv_err.h:88,
from /usr/include/unicode/ucnv.h:52,
from /usr/include/libxml2/libxml/encoding.h:31,
from /usr/include/libxml2/libxml/parser.h:810,
from /usr/include/gstreamer-0.10/gst/gstconfig.h:200,
from /usr/include/gstreamer-0.10/gst/gstelement.h:55,
from /usr/include/gstreamer-0.10/gst/gstbin.h:27,
from /usr/include/gstreamer-0.10/gst/gst.h:35,
from platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:32,
from platform/graphics/MediaPlayer.cpp:46:
/usr/include/unicode/umachine.h: At global scope:
/usr/include/unicode/umachine.h:357:17: error: conflicting declaration ‘typedef int32_t UChar32’
typedef int32_t UChar32;
^~~~~~~
In file included from ../JavaScriptCore/wtf/unicode/Unicode.h:29:0,
from platform/graphics/Color.h:31,
from dom/Document.h:33,
from platform/graphics/MediaPlayer.h:35,
from platform/graphics/MediaPlayer.cpp:29:
../JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h:71:18: note: previous declaration as ‘typedef uint32_t UChar32’
typedef uint32_t UChar32;
^~~~~~~
In file included from ../JavaScriptCore/wtf/CrossThreadRefCounted.h:36:0,
from ../JavaScriptCore/wtf/text/StringImpl.h:28,
from ../JavaScriptCore/wtf/text/WTFString.h:28,
from platform/text/PlatformString.h:28,
from platform/KURL.h:29,
from dom/IconURL.h:34,
from dom/Document.h:36,
from platform/graphics/MediaPlayer.h:35,
from platform/graphics/MediaPlayer.cpp:29:
../JavaScriptCore/wtf/RefCounted.h: In instantiation of ‘void WTF::RefCounted<T>::deref() [with T = WebCore::Frame]’:
../JavaScriptCore/wtf/PassRefPtr.h:59:13: required from ‘void WTF::derefIfNotNull(T*) [with T = WebCore::Frame]’
../JavaScriptCore/wtf/RefPtr.h:58:49: required from ‘WTF::RefPtr<T>::~RefPtr() [with T = WebCore::Frame]’
page/FrameTree.h:37:29: required from here
../JavaScriptCore/wtf/RefCounted.h:141:13: warning: deleting object of polymorphic class type ‘WebCore::Frame’ which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor]
delete static_cast<T*>(this);
^~~~~~
make[2]: *** [Makefile.WebKit:496577: .obj/release-static/MediaPlayer.o] Error 1
make[2]: Leaving directory '/tmp/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]: Leaving directory '/tmp/lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source'
make: *** [Makefile:747: sub-webkit-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
error: dependency package lib32-qt4 failed to build, aborting

WoefulDerelict commented on 2017-04-23 01:59

DellArch: You will need a copy of the lib32-libmng package present to include in the chroot and the devtools package must be installed if you want to use the multilib-build script as shown. Currently the package in the ALA is perfectly sound and there is not reason not to use it unless you really like building things locally. In step 3 "/<somewhere>/lib32-libmng-2.0.3-1-x86_64.pkg.tar.xz" is meant to be expanded by the user to wherever they stored the package file so the script can install it in the chroot as it isn't part of the repos. This is going to install a base copy of Arch Linux on your system with all the packages needed to build lib32-qt4 including lib32-libmng so be sure you have lots of free disk space or it is going to get messy fast.

DellArch commented on 2017-04-22 23:26

Sorry guys, just to be sure, I find this error:

rm -f release/libjscore.a
mv -f libjscore.a release/
make[2]: Leaving directory '/tmp/yaourt-tmp-federico/aur-lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/JavaScriptCore'
cd WebCore/ && /tmp/yaourt-tmp-federico/aur-lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/bin/qmake /tmp/yaourt-tmp-federico/aur-lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/3rdparty/webkit/Source/WebCore/WebCore.pro -spec /tmp/yaourt-tmp-federico/aur-lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/mkspecs/linux-g++-32 -o Makefile.WebKit
Project ERROR: Package gstreamer-app-0.10 not found
make[1]: *** [Makefile.WebKit:72: WebCore/Makefile.WebKit] Error 2
make[1]: Leaving directory '/tmp/yaourt-tmp-federico/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
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Makepkg was unable to build lib32-qt4.
==> Restart building lib32-qt4 ? [y/N]

So, I have to make a back up of lib32-libmng (it is no ok the package on ALA?) and then follow the 3 steps of the pinned comment?
1 - download from ALA the .pkg.tar.xz
2 - run: cd "folder with package downloaded"
3 - run: multilib-build -- -I /<somewhere>/lib32-libmng-2.0.3-1-x86_64.pkg.tar.xz

JohnRobson commented on 2017-04-07 01:22

Please, is possible to someone create a tutorial to use this "chroot" process? (or paste a link to some tutorial)

The comments doesn't give me the necessary details for some steps.

Thank you so much.

WoefulDerelict commented on 2017-04-06 22:58

WARNING: This is not compatible with lib32-openssl 1:1.1.0.e-1 from [Multilib-Testing]. This should be binary compatible with 32-bit copies of openssl 1.0; however there is not yet a lib32-openssl-1.0 in [Multilib-Testing]. I've sent a message to the maintainer requesting a 32-bit openssl 1.0 package for compatibility with legacy binaries.

Mirror the added lines in [Extra]'s qt4 and testing the PKGBUILD against a personal staging package of lib32-openssl-1.0 produces some unexpected errors during linking. I have some leads and a possible solution but it is unlikely the update to openssl 1.1 with openssl 1.0 alongside it will be painless. Expect breakage.

mudrii commented on 2017-03-26 08:31

Failed to compile with bellow error
Any idea ?

make[1]: Entering directory '/home/irutsu/.cache/pacaur/lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/corelib'
compiling animation/qabstractanimation.cpp
cc1plus: error: one or more PCH files were found, but they were invalid
cc1plus: error: use -Winvalid-pch for more information
cc1plus: fatal error: .pch/release-shared/QtCore: No such file or directory
compilation terminated.
make[1]: *** [Makefile:7394: .obj/release-shared/qabstractanimation.o] Error 1
make[1]: Leaving directory '/home/irutsu/.cache/pacaur/lib32-qt4/src/qt-everywhere-opensource-src-4.8.7/src/corelib'
make: *** [Makefile:205: sub-corelib-make_default-ordered] Error 2
==> ERROR: A failure occurred in build().
Aborting...
:: failed to build lib32-qt4 package(s)