From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marius Bakke Subject: bug#38405: [staging] Some Qt plugins fail to build Date: Wed, 27 Nov 2019 19:06:11 +0100 Message-ID: <87r21t6vos.fsf@devup.no> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:54968) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia1iS-0004MK-7u for bug-guix@gnu.org; Wed, 27 Nov 2019 13:07:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia1iQ-0001zS-PE for bug-guix@gnu.org; Wed, 27 Nov 2019 13:07:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:50219) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ia1iQ-0001zB-MC for bug-guix@gnu.org; Wed, 27 Nov 2019 13:07:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1ia1iQ-0002LY-GV for bug-guix@gnu.org; Wed, 27 Nov 2019 13:07:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:54651) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ia1hi-0003U2-Qp for bug-guix@gnu.org; Wed, 27 Nov 2019 13:06:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ia1hh-0001Ni-Eg for bug-guix@gnu.org; Wed, 27 Nov 2019 13:06:18 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:42267) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ia1hh-0001Ku-2g for bug-guix@gnu.org; Wed, 27 Nov 2019 13:06:17 -0500 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 3C670229DA for ; Wed, 27 Nov 2019 13:06:15 -0500 (EST) Received: from localhost (84-52-226.102.3p.ntebredband.no [84.52.226.102]) by mail.messagingengine.com (Postfix) with ESMTPA id A290B8005B for ; Wed, 27 Nov 2019 13:06:14 -0500 (EST) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 38405@debbugs.gnu.org --=-=-= Content-Type: text/plain Hello Guix, The 'staging' branch has been idle for a while because some Qt packages fail to build (as of commit b60d2bfff95c0859d7814c1fe9d0940c87edc2b4): * qtwayland: https://ci.guix.gnu.org/build/1851111/details * qtgamepad: https://ci.guix.gnu.org/build/1946382/details * qtwebglplugin: https://ci.guix.gnu.org/build/1830705/details Unfortunately none of the above log files show the real issue because of truncation: . The problem is that for these packages specifically, the Makefile generated by qmake references $out/lib/libQt5Core.so in LIBS (in _addition_ to $qtbase/lib/libQt5Core.so), which in turn breaks the GCC command line because $out/lib/libQt5Core.so obviously does not exist. Prior to Qt 5.12, qmake generated LIBS by adding appropriate -L and -l arguments to GCC such as "-L /gnu/store/abc123-foo/lib -l foo", whereas Qt 5.12 inserts absolute library references, i.e. "/gnu/store/abc123-foo/lib/libfoo.so". The former case worked because GCC gracefully handles duplicate -L and -l arguments as long as at least one of the '-L's are sane. The references comes from the .prl files shipped with qtbase, which contains entries such as: QMAKE_PRL_LIBS = $$[QT_INSTALL_LIBS]/libQt5Gui.so $$[QT_INSTALL_LIBS]/libQt5Core.so -lpthread /gnu/store/hhpkqcz4i8rsv3lk1iv694q0bkg2vij9-mesa-19.2.1/lib/libGL.so QT_INSTALL_LIBS behaves differently in Guix at "configure time" (qmake) and "build time" (when running "make", which creates other Makefiles). At configure time it correctly resolves to the qtbase output (because we patch qt_configure.prf to make it so). At build time, it is repurposed to be the installation prefix (i.e. $out/lib). It's not clear to me why only the three mentioned packages are affected. My current best guess is that they fail to probe for some (transitive?) dependency at "configure time", so no qmake cache entry is created. When these dependencies are resolved at "build time", QT_INSTALL_LIBS points to the wrong location, and the build fails. A workaround for this issue will be submitted shortly. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl3euxMACgkQoqBt8qM6 VPrfZwgAy4iym7xg9bUe+t04jvXTjiKct81frTY4hNh+1dlmrkdx2jlkznjIMC0P 79kKplK9kuxJIigBUgbW3BhLcxqt2Oh3a/eTfXxir9vU0IpgrUNZg+ZIXRCw6JyS 4koXOGbvYr8cFyi7ED7oYsXzccm9ch2AbCvRzmXCQZp+PqapE5bhnB8pYmImddfR vbjrsso0a0w681kAXPteDCLRnWmMP1pGNrauEoHWPZV1mL4nlD8/MwuH4XV7BMeH sgMZVino/wI/GYRcE+D3jpcc3/bGByQ/zBkO/GEOsTfa10qaktMOp42h9kV+Fu7t 2UckQb5Nm8mN5hQmA7QEyg0Dt9z0Yw== =Qu49 -----END PGP SIGNATURE----- --=-=-=--