Gentoo Archives: gentoo-dev

From: "C. Bergström" <cbergstrom@×××××××××.com>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-dev@l.g.o, Kent Fredric <kentfredric@×××××.com>
Subject: Re: [gentoo-dev] How to support C++11 in libraries?
Date: Thu, 19 Dec 2013 08:29:47
Message-Id: 52B2AE3E.7070600@pathscale.com
In Reply to: Re: [gentoo-dev] How to support C++11 in libraries? by "Michał Górny"
1 On 12/19/13 03:20 PM, Michał Górny wrote:
2 > Dnia 2013-12-19, o godz. 00:56:31
3 > "C. Bergström" <cbergstrom@×××××××××.com> napisał(a):
4 >
5 >> On 12/19/13 12:47 AM, Kent Fredric wrote:
6 >>> On 19 December 2013 06:33, Jan Kundrát <jkt@g.o> wrote:
7 >>>> I'm worried by the cost of such a policy, though, because we would suddenly
8 >>>> have to patch some unknown amount of software
9 >>> Given the nature that changing that CXX Flag globally for all users
10 >>> could cause many packages to spontaneously fail to build, wouldn't
11 >>> that imply that changing that flag would essentially be de-stabilizing
12 >>> the whole tree, and a package being (arch) would no longer be an
13 >>> indication of sane, tested behaviour?
14 >>>
15 >>> This is really the perk of the USE driven process, the granular
16 >>> piecemeal approach that does only as much as necessary, without
17 >>> changing things that are already stable.
18 >> In practice wouldn't that mean you'd have to add c++11 USE flag to every
19 >> C++11 application and lib?
20 > No. Only the libs that change their ABI in C++11.
21 >
22 >> "Best case" both build and you end up with a linker problem (can be
23 >> worked around with compiler patches)
24 >> /usr/lib64/libboost.so
25 >> /usr/lib64-c++11/libboost.so
26 > What's wrong with this solution:
27 >
28 > 1. distro-specific compiler patching is wrong,
29 Pragmatically, this needs to be upstream and should have been there
30 already. Get some feedback to see if gcc people are receptive to the
31 idea before testing a gentoo-only patch. If they accept it upstream -
32 backport it. If they tell you f* off - get their feedback on how to deal
33 with it - more below.
34
35 (this is not a gentoo only problem - this discussion should happen on a
36 more global level...)
37
38 Unfortunately, it's going to be really hard to tell what will break ABI
39 and what won't. I guess for ABI compatible packages
40 /usr/lib64-c++11/libfoobar.so would be a symlink back to
41 /usr/lib64/libfoobar.so
42 >
43 > 2. kinda FHS deviation, at least in spirit of lib<qual> directory.
44 >
45 > We could go with '-L' but this is very fragile anyway. It's *very easy*
46 > for the compiler to link the 'wrong' library due to -L/usr/lib64 being
47 > added by some kind of foo-config.
48 -L would likely mean you also need -nostdlib to make it work - which is
49 more hacky than the above. pretty please don't do this.. pleeeeaassse

Replies

Subject Author
Re: [gentoo-dev] How to support C++11 in libraries? "Michał Górny" <mgorny@g.o>