From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 717331392EF for ; Wed, 12 Mar 2014 15:46:20 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 5B0E1E0A8D; Wed, 12 Mar 2014 15:46:14 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 4EBF1E0A59 for ; Wed, 12 Mar 2014 15:46:13 +0000 (UTC) Received: from 127.0.0.1 (tor-exit.xshells.net [178.217.187.39]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: hasufell) by smtp.gentoo.org (Postfix) with ESMTPSA id 73D9D33FC9C; Wed, 12 Mar 2014 15:46:07 +0000 (UTC) Message-ID: <53208139.2040509@gentoo.org> Date: Wed, 12 Mar 2014 15:46:01 +0000 From: hasufell Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 To: gentoo-dev@lists.gentoo.org CC: multilib@gentoo.org, "Mike Frysinger (vapier)" , toolchain@gentoo.org, embedded@gentoo.org Subject: [gentoo-dev] crossdev and multilib interference Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Archives-Salt: cd3749ef-f56c-4fab-85a5-b8765f76b4af X-Archives-Hash: 51980f2d6c2829889b99e840003a1367 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 We have a problem where the crossdev pkg-config wrapper scripts interfere with multilib. crossdev for example sets in their pkg-config wrappers: PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig" Now, SYSROOT is chosen from multiple conditions. When emerging a package, that happens to be "/" and thus results in: "//usr/lib/pkgconfig://usr/share/pkgconfig" Build systems like autotools will pick the crossdev provided "i686-pc-linux-gnu-pkg-config" for the 32bit ABI which will in turn override the eclass-exported PKG_CONFIG_LIBDIR and now effectively find the pkg-config files in /usr/lib64/... This is not a problem most of the time if the package just wants to get the libs to link against. However, every package that tries to access variables that are different between /usr/lib32/pkgconfig/foo.pc and /usr/lib64/pkgconfig/foo.pc like "libdir" will fail or produce unexpected results. That already happens for x11-libs/libva-vdpau-driver x11-libs/libva (https://bugs.gentoo.org/show_bug.cgi?id=500338) and there are probably more. A simple workaround is: PKG_CONFIG="pkg-config" emerge foo But I think that is not appropriate to set in the eclass. How can we solve this? Don't bikeshed. -----BEGIN PGP SIGNATURE----- iQJ8BAEBCgBmBQJTIIE5XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQzMDlCNDQ4NjEyNDI4NjA5REVEMDI3MzIy MjBDRDFDNUJERUVEMDIwAAoJECIM0cW97tAgLvMQALJT5uZFBTL5mHNBjezudMHo ceHY3TzLfeIkWHedCLU9TAapfLjl677W0jbg25zkLayPtUR3voEAIm6xFZtF2CAS VsBpArieXQWqtxSrT9hHC1dJeAWQvQs1kyKXBb5ido8sEBb7WpHFlEqwmUY5bn33 TZjGjcQ68EojbcFQl0vmJRx1/bgXxOr9Ir4Y1bFX92S9ENhERnisu3zZrcvC+PyH XqXg+wFoJfxu1fSL4/llRDfyr0UJWlWdMeCpvwgkhCpn66CBwc50BwokMP4f4x3G YDbi+1Ep4GIBVHLd5MlfZOkeqhzPQRD10lbnOHmW7Wuh6Mu87UI7G9xHWZcNyEkS U9Ny0ejyqnx0j5TMgMP/IcpBR1PaRcceTLFYhwJrYucgcB6/YZ1sP81Yce7f2Riy M6OZontsv8GVbPA4tsgsV4wob6XUzn6d47p4jwbq67u3GUX6QU7fNB0yJ2ga56qV xvIaEgdOFsAZHOyix6zfTa2AqpE2LQiVfwEF2pI4J4bTCfy7DvfWhuvA5IwWyyFA jPiGr5xEns85v2q+dagUo/iup9gzbgGQs+dH6w3wXTkip72lnbxHwiz8Pa2eIXVl +Tvo9vcdVSzw68tF30sS005+HNorCkj/pqdC7FND/KCyC7r3aESmagibqKdUhHPc 9sN1RjgyzXYst5mvQ1Hg =J4Qp -----END PGP SIGNATURE-----