1 |
On 11/30/15 6:17 AM, Anthony G. Basile wrote: |
2 |
> different direction: what about building with |
3 |
> rpath=/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/ and then making sure that |
4 |
> portage respects that library file during any --depclean or |
5 |
> @preserved-rebuild? i'm not sure how we'd |
6 |
> inject LDFLAGS=-Wl,-rpath=... consistantly and sanely into all c++ builds. |
7 |
> |
8 |
> this would solve all problems i can see: 1) gcc-config reshuffles |
9 |
> /etc/ld.so.conf.d/05gcc-<tuple>.conf but rpath takes presidence, 2) the |
10 |
> correct library symbols are guaranteed to be there in both exe and lib. |
11 |
> 3) it pro-actively guards against abi mismatches when switching gcc even |
12 |
> for other languages like fortran, java, obj-c. |
13 |
|
14 |
oh i should add that we don't support switching back and forth between |
15 |
c++98 and c++11. which is used is an upstream choice via whatever -std= |
16 |
they add to the build system, otherwise we go with the compiler default. |
17 |
|
18 |
i'm going to play with situations like foo is built using |
19 |
c++{98,11}/gcc-4.{8,9} and links against libbar built using |
20 |
c++{98,11}/gcc-4.{8,9} and libbas similarly built using the rpath |
21 |
technique and see what kind of wierdness i might hit. i stil think it |
22 |
will work. |
23 |
|
24 |
-- |
25 |
Anthony G. Basile, Ph.D. |
26 |
Gentoo Linux Developer [Hardened] |
27 |
E-Mail : blueness@g.o |
28 |
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
29 |
GnuPG ID : F52D4BBA |