Date: Thu, 12 Sep 2013 19:05:05 GMT From: Dennis <dennis.noordsij@helsinki.fi> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/182049: problem with qt4 plugins and clean room builds (poudriere) Message-ID: <201309121905.r8CJ55QW067122@oldred.freebsd.org> Resent-Message-ID: <201309121910.r8CJA0G9046878@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 182049 >Category: ports >Synopsis: problem with qt4 plugins and clean room builds (poudriere) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Sep 12 19:10:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Dennis >Release: 9.2-RC3 >Organization: >Environment: FreeBSD [REDACTED] 9.2-RC3-p1 FreeBSD 9.2-RC3-p1 #0: Mon Sep 9 19:37:31 UTC 2013 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 >Description: The x11-toolkits/qt4-gui and devel/qt4-corelib Makefiles define: USES=pkgconfig (a build-time dependency on pkg-config) The configure script detects the existence of pkg-config, and creates the build key as follows: "x86_64 usr/local/share/qt4/mkspecs/freebsd g++-4 full-config" Note the "full-config". (The build key is an identifier Qt uses to determine wether plugins were compiled with the same settings, architecture, and so on. Bear with me) Then: graphics/qt4-imageformats and graphics/qt4-iconengines do NOT define USES=pkgconfig The result is that when building these in a clean room build environment such as poudriere, the binary package for x11-toolkits/qt4-gui is installed as one of the dependencies, however, pkg-config is _not_ installed. The configure script detects the absence of pkg-config, and creates the build key as follows: "x86_64 usr/local/share/qt4/mkspecs/freebsd g++-4 no-pkg-config" Note the "no-pkg-config" The result is that Qt refuses to load the built plugins with the following message: The plugin '/usr/local/lib/qt4/plugins/imageformats/libqtiff.so' uses incompatible Qt library. Expected build key "x86_64 usr/local/share/qt4/mkspecs/freebsd g++-4 full-config", got "x86_64 usr/local/share/qt4/mkspecs/freebsd g++-4 no-pkg-config" If one does not use a clean room build, one usually installs the plugins after having built qt4-gui, and then pkg-config will still be installed as a requirement for qt4-gui, so the plugins are built with the correct build key (i.e. the same configuration). >How-To-Repeat: Build x11-toolkits/qt4-gui in poudriere, then build graphics/qt4-imageformats in poudriere. A good output (note absence of "no-pkg-config"): Configuration .......... release shared dll largefile stl mmx 3dnow sse sse2 sse3 ssse3 minimal-config small-config medium-config large-config full-config qt3support phonon accessibility reduce_exports ipv6 clock-gettime clock-monotonic getaddrinfo ipv6ifname getifaddrs system-jpeg system-mng system-png png system-tiff system-freetype system-zlib nis gnu-libiconv glib openssl x11sm xshape xsync xrender mitshm fontconfig xkb icu concurrent xmlpatterns multimedia audio-backend svg script scripttools declarative release A bad output (note presence of "no-pkg-config"): Configuration .......... release shared dll largefile stl mmx 3dnow sse sse2 sse3 ssse3 minimal-config small-config medium-config large-config full-config no-pkg-config qt3support phonon accessibility reduce_exports ipv6 clock-gettime clock-monotonic getaddrinfo ipv6ifname getifaddrs system-jpeg system-mng system-png png system-tiff system-freetype system-zlib nis gnu-libiconv openssl x11sm xshape xsync xrender mitshm fontconfig xkb icu concurrent xmlpatterns multimedia audio-backend svg script scripttools declarative release >Fix: Add USES=pkgconfig to /usr/ports/graphics/qt4-imageformats/Makefile, and /usr/ports/graphics/qt4-iconengines/Makefile (Note: there may be more qt4 plugin ports, the same would apply to them) >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309121905.r8CJ55QW067122>