1 |
On 05 Oct 2015 20:45, Paweł Hajdan, Jr. wrote: |
2 |
> On 10/3/15 4:13 AM, Mike Frysinger wrote: |
3 |
> > Title: GCC 5 Defaults to the New C++11 ABI |
4 |
> > Author: Mike Frysinger <vapier@g.o> |
5 |
> > Content-Type: text/plain |
6 |
> > Posted: 2015-10-02 |
7 |
> > Revision: 1 |
8 |
> > News-Item-Format: 1.0 |
9 |
> > Display-If-Installed: >=sys-devel/gcc-5 |
10 |
> > |
11 |
> > GCC 5 uses the new C++ ABI by default. When building new code, you might run |
12 |
> > into link time errors like: |
13 |
> > ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17' |
14 |
> > Or you might see linkage failures with "std::__cxx11::string" in the output. |
15 |
> > |
16 |
> > These are signs that you need to rebuild packages using the new C++ ABI. |
17 |
> > You can quickly do so by using revdep-rebuild like so: |
18 |
> > # revdep-rebuild --library 'libstdc\+\+\.so\.6' |
19 |
> > |
20 |
> > For more details, feel free to peruse: |
21 |
> > https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/ |
22 |
> > https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/ |
23 |
> |
24 |
> Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4? |
25 |
> |
26 |
> Are there any instructions for that? Is it sufficient to do a similar |
27 |
> revdep-rebuild command? |
28 |
> |
29 |
> In case the downgrade would horribly break systems or be otherwise |
30 |
> highly nontrivial, I'd recommend some note for that. |
31 |
|
32 |
it's like any other attempt to downgrade an ABI: you're on your own. |
33 |
in Gentoo, we guarantee backwards compatibility, not forward -- this |
34 |
is not specific to GCC. |
35 |
|
36 |
in practice, as long as you don't unmerge gcc-5, you can switch the |
37 |
active compiler to gcc-4.9 and use it, but the runtime libs will be |
38 |
taken from the latest one you have installed (gcc-5). |
39 |
-mike |