Gentoo Archives: gentoo-dev

From: Alexandre Rostovtsev <tetromino@g.o>
To: gentoo-dev@l.g.o
Cc: hasufell@g.o, multilib@g.o, "Mike Frysinger (vapier)" <vapier@g.o>, toolchain@g.o, embedded@g.o
Subject: Re: [gentoo-dev] crossdev and multilib interference
Date: Thu, 13 Mar 2014 12:21:25
Message-Id: 1394713223.31396.2.camel@rook
In Reply to: Re: [gentoo-dev] crossdev and multilib interference by "Michał Górny"
1 On Thu, 2014-03-13 at 09:55 +0100, Michał Górny wrote:
2 > Dnia 2014-03-12, o godz. 15:46:01
3 > hasufell <hasufell@g.o> napisał(a):
4 >
5 > > -----BEGIN PGP SIGNED MESSAGE-----
6 > > Hash: SHA512
7 > >
8 > > We have a problem where the crossdev pkg-config wrapper scripts
9 > > interfere with multilib.
10 > >
11 > > crossdev for example sets in their pkg-config wrappers:
12 > >
13 > > PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig"
14 > >
15 > > Now, SYSROOT is chosen from multiple conditions. When emerging a
16 > > package, that happens to be "/" and thus results in:
17 > > "//usr/lib/pkgconfig://usr/share/pkgconfig"
18 > >
19 > > Build systems like autotools will pick the crossdev provided
20 > > "i686-pc-linux-gnu-pkg-config" for the 32bit ABI which will in turn
21 > > override the eclass-exported PKG_CONFIG_LIBDIR and now effectively
22 > > find the pkg-config files in /usr/lib64/...
23 > >
24 > > This is not a problem most of the time if the package just wants to
25 > > get the libs to link against.
26 > >
27 > > However, every package that tries to access variables that are
28 > > different between /usr/lib32/pkgconfig/foo.pc and
29 > > /usr/lib64/pkgconfig/foo.pc like "libdir" will fail or produce
30 > > unexpected results.
31 > >
32 > > That already happens for
33 > > x11-libs/libva-vdpau-driver
34 > > x11-libs/libva (https://bugs.gentoo.org/show_bug.cgi?id=500338)
35 > >
36 > > and there are probably more.
37 >
38 > Another possible workaround is to make pkgconfig true-multilib. Then it
39 > would own i686-pc-linux-gnu-pkgconfig, and that executable would work
40 > correctly. More than that, we could work on killing the PKG_CONFIG_PATH
41 > hack.
42
43 That won't work with current versions of crossdev because they blindly
44 create/delete their pkg-config wrappers without checking if they are
45 overwriting or removing something that belongs to another package.

Attachments

File name MIME type
signature.asc application/pgp-signature