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 .. 4 5 6 7 8 9 10 11 12 13 14 .. 25 Next › Last »

piedro commented on 2017-03-16 14:53 (UTC)

Hello! Sorry to say but this is the single most inconvenient update package in AUR I've ever dealt with. What is the difference to 4.8.4? Is there any need for updating anyway? Will there be a version that does not require all this clean-chroot-shenanigans? Shouldn't this be included in the PKGBUILD? thx, p.

Tharbad commented on 2017-03-15 20:04 (UTC)

I'm getting some compilation errors: compiling helpviewer_qwv.cpp helpviewer_qwv.cpp:161:1: error: expected class-name before ‘{’ token { ^ helpviewer_qwv.cpp:166:13: error: ‘QWebPage’ does not name a type virtual QWebPage *createWindow(QWebPage::WebWindowType); ^~~~~~~~ helpviewer_qwv.cpp:167:32: error: ‘WebAction’ has not been declared virtual void triggerAction(WebAction action, bool checked = false); ^~~~~~~~~ helpviewer_qwv.cpp:169:42: error: ‘QWebFrame’ has not been declared virtual bool acceptNavigationRequest(QWebFrame *frame, ^~~~~~~~~ helpviewer_qwv.cpp:170:41: error: ‘NavigationType’ has not been declared const QNetworkRequest &request, NavigationType type); ^~~~~~~~~~~~~~ helpviewer_qwv.cpp: In constructor ‘HelpPage::HelpPage(QObject*)’: helpviewer_qwv.cpp:182:7: error: class ‘HelpPage’ does not have any field named ‘QWebPage’ : QWebPage(parent) ^~~~~~~~ helpviewer_qwv.cpp: At global scope: helpviewer_qwv.cpp:190:1: error: ‘QWebPage’ does not name a type QWebPage *HelpPage::createWindow(QWebPage::WebWindowType) ^~~~~~~~ helpviewer_qwv.cpp:200:30: error: variable or field ‘triggerAction’ declared void void HelpPage::triggerAction(WebAction action, bool checked) ^~~~~~~~~ helpviewer_qwv.cpp:200:30: error: ‘WebAction’ was not declared in this scope helpviewer_qwv.cpp:200:48: error: expected primary-expression before ‘bool’ void HelpPage::triggerAction(WebAction action, bool checked) I *thought* such things don't suppose to happen anymore...

PhoenixtheII commented on 2017-03-14 13:45 (UTC)

After an hour of compiling I gave up (Core i7 6700k!) it seems to keep looping on compiling this here: ../JavaScriptCore/wtf/StdLibExtras.h: In function 'TO WTF::bitwise_cast(FROM)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyWTF_bitwise_cast_sizeof_casted_types_is_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/StdLibExtras.h:96:5: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(sizeof(TO) == sizeof(FROM), WTF_bitwise_cast_sizeof_casted_types_is_equal); ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/StdLibExtras.h: In function 'size_t WTF::roundUpToMultipleOf(size_t)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummydivisor_is_a_power_of_two' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/StdLibExtras.h:120:5: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(divisor && !(divisor & (divisor - 1)), divisor_is_a_power_of_two); ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator==(const WTF::OwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/OwnPtr.h:87:66: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator==(const OwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator!=(const WTF::OwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/OwnPtr.h:88:66: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator!=(const OwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator==(const WTF::PassOwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/OwnPtr.h:89:70: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator==(const PassOwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/OwnPtr.h: In member function 'bool WTF::OwnPtr<T>::operator!=(const WTF::PassOwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/OwnPtr.h:90:70: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator!=(const PassOwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/StringHasher.h: In static member function 'static unsigned int WTF::StringHasher::hashMemory(const void*)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummylength_must_be_a_multible_of_four' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/StringHasher.h:140:9: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(!(length % 4), length_must_be_a_multible_of_four); ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/PassOwnPtr.h: In member function 'bool WTF::PassOwnPtr<T>::operator==(const WTF::PassOwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/PassOwnPtr.h:95:70: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator==(const PassOwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/PassOwnPtr.h: In member function 'bool WTF::PassOwnPtr<T>::operator!=(const WTF::PassOwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/PassOwnPtr.h:96:70: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator!=(const PassOwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/PassOwnPtr.h: In member function 'bool WTF::PassOwnPtr<T>::operator==(const WTF::OwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/PassOwnPtr.h:97:66: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator==(const OwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/wtf/PassOwnPtr.h: In member function 'bool WTF::PassOwnPtr<T>::operator!=(const WTF::OwnPtr<U>&)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyOwnPtrs_should_never_be_equal' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/wtf/PassOwnPtr.h:98:66: note: in expansion of macro 'COMPILE_ASSERT' template<typename U> bool operator!=(const OwnPtr<U>&) { COMPILE_ASSERT(!sizeof(U*), OwnPtrs_should_never_be_equal); return false; } ^~~~~~~~~~~~~~ ../JavaScriptCore/runtime/JSVariableObject.h: In constructor 'JSC::JSVariableObject::JSVariableObject(JSC::JSGlobalData&, JSC::Structure*, JSC::SymbolTable*, JSC::Register*)': ../JavaScriptCore/wtf/Assertions.h:326:47: warning: typedef 'dummyRegister_should_be_same_size_as_WriteBarrier' locally defined but not used [-Wunused-local-typedefs] #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ ../JavaScriptCore/runtime/JSVariableObject.h:75:13: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(sizeof(WriteBarrier<Unknown>) == sizeof(Register), Register_should_be_same_size_as_WriteBarrier); ^~~~~~~~~~~~~~ ../JavaScriptCore/runtime/JSGlobalObject.h: In constructor 'JSC::JSGlobalObject::JSGlobalObject(JSC::JSGlobalData&, JSC::Structure*)': ../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:127:13: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(JSGlobalObject::AnonymousSlotCount == 1, JSGlobalObject_has_only_a_single_slot); ^~~~~~~~~~~~~~ ../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);

slav commented on 2017-03-13 23:08 (UTC)

Thank you

ranger commented on 2017-03-13 21:11 (UTC)

I will update the repo as soon as possible. I'm away at the moment

slav commented on 2017-03-13 20:57 (UTC)

Can someone drop lib32-qt4 4.8.7-10-x86_64.pkg.tar.xz please? Thank you

WoefulDerelict commented on 2017-03-13 19:13 (UTC)

[Extra] adopted a new patch and I've chosen to include it as well. Happy building everyone.

WoefulDerelict commented on 2017-03-09 14:32 (UTC)

1ace: No, no, no a thousand times NO. Due to some inconsistencies in other lib32- packages needed for lib32-qt4 to work properly with GTK themes in the core binary repos the build system is allowed to troll your entire system for configuration files. Because you had gstreamer 0.10 installed it configured and attempted to build against gstreamer 0.10. The proper solution would have been to build the package in a clean chroot as has been suggested multiple times. In this environment there would be no gstreamer 0.10 and thus no issue. gstreamer 0.10 was dropped from the Arch Linux core repositories. It is probably unwise to build this package against gstreamer 0.10 as that may result in unexpected behaviour.

1ace commented on 2017-03-09 13:34 (UTC)

Had to install lib32-gstreamer0.10 and lib32-gstreamer0.10-base; are they maybe missing from makedepends?

WoefulDerelict commented on 2017-03-08 20:22 (UTC)

mnyolt: That option isn't used on Arch Linux by default for good reason: https://bbs.archlinux.org/viewtopic.php?id=171819 One can only reasonably supoort the default Arch Linux makepkg.conf options. Users who have modified makepkg.conf in any way are not supported. You changed it for your own reasons and if things break it is your responsibility to deal with it, not mine. It is entirely unreasonable to expect a PKGBUILD to cope with every random breaking change made to the system by the user. Managing the intricacies of your deployment are entirely your burden.