1 |
Dnia 2014-03-12, o godz. 15:46:01 |
2 |
hasufell <hasufell@g.o> napisał(a): |
3 |
|
4 |
> -----BEGIN PGP SIGNED MESSAGE----- |
5 |
> Hash: SHA512 |
6 |
> |
7 |
> We have a problem where the crossdev pkg-config wrapper scripts |
8 |
> interfere with multilib. |
9 |
> |
10 |
> crossdev for example sets in their pkg-config wrappers: |
11 |
> |
12 |
> PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig" |
13 |
> |
14 |
> Now, SYSROOT is chosen from multiple conditions. When emerging a |
15 |
> package, that happens to be "/" and thus results in: |
16 |
> "//usr/lib/pkgconfig://usr/share/pkgconfig" |
17 |
> |
18 |
> Build systems like autotools will pick the crossdev provided |
19 |
> "i686-pc-linux-gnu-pkg-config" for the 32bit ABI which will in turn |
20 |
> override the eclass-exported PKG_CONFIG_LIBDIR and now effectively |
21 |
> find the pkg-config files in /usr/lib64/... |
22 |
> |
23 |
> This is not a problem most of the time if the package just wants to |
24 |
> get the libs to link against. |
25 |
> |
26 |
> However, every package that tries to access variables that are |
27 |
> different between /usr/lib32/pkgconfig/foo.pc and |
28 |
> /usr/lib64/pkgconfig/foo.pc like "libdir" will fail or produce |
29 |
> unexpected results. |
30 |
> |
31 |
> That already happens for |
32 |
> x11-libs/libva-vdpau-driver |
33 |
> x11-libs/libva (https://bugs.gentoo.org/show_bug.cgi?id=500338) |
34 |
> |
35 |
> and there are probably more. |
36 |
|
37 |
Another possible workaround is to make pkgconfig true-multilib. Then it |
38 |
would own i686-pc-linux-gnu-pkgconfig, and that executable would work |
39 |
correctly. More than that, we could work on killing the PKG_CONFIG_PATH |
40 |
hack. |
41 |
|
42 |
-- |
43 |
Best regards, |
44 |
Michał Górny |