* [gentoo-dev] Re: gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
@ 2015-10-03 4:53 ` Ryan Hill
2015-10-03 5:04 ` [gentoo-dev] " Jason Zaman
` (6 subsequent siblings)
7 siblings, 0 replies; 33+ messages in thread
From: Ryan Hill @ 2015-10-03 4:53 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1157 bytes --]
On Fri, 2 Oct 2015 22:13:09 -0400
Mike Frysinger <vapier@gentoo.org> wrote:
> Title: GCC 5 Defaults to the New C++11 ABI
> Author: Mike Frysinger <vapier@gentoo.org>
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
>
> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> Or you might see linkage failures with "std::__cxx11::string" in the output.
>
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
> For more details, feel free to peruse:
> https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
>
LGTM.
--
Ryan Hill psn: dirtyepic_sk
gcc-porting/toolchain/wxwidgets @ gentoo.org
47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 475 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
2015-10-03 4:53 ` [gentoo-dev] " Ryan Hill
@ 2015-10-03 5:04 ` Jason Zaman
2015-10-03 8:37 ` [gentoo-dev] " Ryan Hill
2015-10-03 12:38 ` [gentoo-dev] " Ciaran McCreesh
` (5 subsequent siblings)
7 siblings, 1 reply; 33+ messages in thread
From: Jason Zaman @ 2015-10-03 5:04 UTC (permalink / raw
To: gentoo-dev
On Fri, Oct 02, 2015 at 10:13:09PM -0400, Mike Frysinger wrote:
> Title: GCC 5 Defaults to the New C++11 ABI
> Author: Mike Frysinger <vapier@gentoo.org>
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
>
> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
Exactly what part of this line is the important part? I take it its the
@GLIBCXX_3.4.17? or is it the lack of the __cxx11::? I have a feeling
that posted like this and users will think anytime it says undefined
reference then its a C++ issue which is likely not the case.
> Or you might see linkage failures with "std::__cxx11::string" in the output.
>
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
> For more details, feel free to peruse:
> https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
-- Jason
^ permalink raw reply [flat|nested] 33+ messages in thread
* [gentoo-dev] Re: gcc-5 news item wrt C++ ABI
2015-10-03 5:04 ` [gentoo-dev] " Jason Zaman
@ 2015-10-03 8:37 ` Ryan Hill
0 siblings, 0 replies; 33+ messages in thread
From: Ryan Hill @ 2015-10-03 8:37 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1945 bytes --]
On Sat, 3 Oct 2015 13:04:08 +0800
Jason Zaman <perfinion@gentoo.org> wrote:
> On Fri, Oct 02, 2015 at 10:13:09PM -0400, Mike Frysinger wrote:
> > GCC 5 uses the new C++ ABI by default. When building new code, you might
> > run into link time errors like:
> > ...: undefined reference to
> > '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
>
> Exactly what part of this line is the important part? I take it its the
> @GLIBCXX_3.4.17? or is it the lack of the __cxx11::? I have a feeling
> that posted like this and users will think anytime it says undefined
> reference then its a C++ issue which is likely not the case.
If it's got a GLIBCXX symbol version and a mangled name and it broke when you
switched compilers and revdep-rebuild fixes it then you know it's a C++ ABI
issue. :)
The __cxx11 errors look a little different:
cmGlobalGenerator.cxx:(.text+0x12c04): undefined reference to
`Json::Value::Value(std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)'
kfilemetainfo.cpp:(.text+0xfb5): undefined reference to
`Strigi::AnalysisResult::AnalysisResult(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, long,
Strigi::IndexWriter&, Strigi::StreamAnalyzer&, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'
Either way CXX is right there in the error message. Compare it to something
that fails due to C99 inline:
../../src/tcs/libtcs.a(libtcs_a-tcsps.o): In function `psfile_get_parent_uuid_by_uuid':
tcsps.c:(.text+0x3e8): undefined reference to `read_data'
bwm-ng.o: In function `main':
bwm-ng.c:(.text.startup+0x1d3): undefined reference to `get_iface_stats'
Rebuilding won't help with these of course.
--
Ryan Hill psn: dirtyepic_sk
gcc-porting/toolchain/wxwidgets @ gentoo.org
47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 475 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
2015-10-03 4:53 ` [gentoo-dev] " Ryan Hill
2015-10-03 5:04 ` [gentoo-dev] " Jason Zaman
@ 2015-10-03 12:38 ` Ciaran McCreesh
2015-10-03 17:24 ` Mike Frysinger
2015-10-03 23:16 ` hasufell
` (4 subsequent siblings)
7 siblings, 1 reply; 33+ messages in thread
From: Ciaran McCreesh @ 2015-10-03 12:38 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 274 bytes --]
On Fri, 2 Oct 2015 22:13:09 -0400
Mike Frysinger <vapier@gentoo.org> wrote:
> Display-If-Installed: >=sys-devel/gcc-5
This means that two years from now, when stages are built using GCC 5,
every new user will get this news item shown to them.
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 12:38 ` [gentoo-dev] " Ciaran McCreesh
@ 2015-10-03 17:24 ` Mike Frysinger
2015-10-03 17:30 ` Ciaran McCreesh
0 siblings, 1 reply; 33+ messages in thread
From: Mike Frysinger @ 2015-10-03 17:24 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 339 bytes --]
On 03 Oct 2015 13:38, Ciaran McCreesh wrote:
> On Fri, 2 Oct 2015 22:13:09 -0400 Mike Frysinger wrote:
> > Display-If-Installed: >=sys-devel/gcc-5
>
> This means that two years from now, when stages are built using GCC 5,
> every new user will get this news item shown to them.
multiple news items already use this syntax
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 17:24 ` Mike Frysinger
@ 2015-10-03 17:30 ` Ciaran McCreesh
2015-10-05 18:43 ` Paweł Hajdan, Jr.
2015-10-06 4:43 ` Mike Frysinger
0 siblings, 2 replies; 33+ messages in thread
From: Ciaran McCreesh @ 2015-10-03 17:30 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 597 bytes --]
On Sat, 3 Oct 2015 13:24:11 -0400
Mike Frysinger <vapier@gentoo.org> wrote:
> On 03 Oct 2015 13:38, Ciaran McCreesh wrote:
> > On Fri, 2 Oct 2015 22:13:09 -0400 Mike Frysinger wrote:
> > > Display-If-Installed: >=sys-devel/gcc-5
> >
> > This means that two years from now, when stages are built using GCC
> > 5, every new user will get this news item shown to them.
>
> multiple news items already use this syntax
Yes, and they cause problems. Do you want to cause another problem, or
do you want to think more carefully about who should see the news item?
--
Ciaran McCreesh
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 17:30 ` Ciaran McCreesh
@ 2015-10-05 18:43 ` Paweł Hajdan, Jr.
2015-10-06 4:43 ` Mike Frysinger
1 sibling, 0 replies; 33+ messages in thread
From: Paweł Hajdan, Jr. @ 2015-10-05 18:43 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 768 bytes --]
On 10/3/15 7:30 PM, Ciaran McCreesh wrote:
> On Sat, 3 Oct 2015 13:24:11 -0400
> Mike Frysinger <vapier@gentoo.org> wrote:
>> On 03 Oct 2015 13:38, Ciaran McCreesh wrote:
>>> On Fri, 2 Oct 2015 22:13:09 -0400 Mike Frysinger wrote:
>>>> Display-If-Installed: >=sys-devel/gcc-5
>>>
>>> This means that two years from now, when stages are built using GCC
>>> 5, every new user will get this news item shown to them.
>>
>> multiple news items already use this syntax
>
> Yes, and they cause problems. Do you want to cause another problem, or
> do you want to think more carefully about who should see the news item?
Hey Ciaran - I see you can point technical deficiencies in a lot of cases.
Could you just suggest an alternative solution?
Paweł
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 17:30 ` Ciaran McCreesh
2015-10-05 18:43 ` Paweł Hajdan, Jr.
@ 2015-10-06 4:43 ` Mike Frysinger
1 sibling, 0 replies; 33+ messages in thread
From: Mike Frysinger @ 2015-10-06 4:43 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 914 bytes --]
On 03 Oct 2015 18:30, Ciaran McCreesh wrote:
> On Sat, 3 Oct 2015 13:24:11 -0400 Mike Frysinger wrote:
> > On 03 Oct 2015 13:38, Ciaran McCreesh wrote:
> > > On Fri, 2 Oct 2015 22:13:09 -0400 Mike Frysinger wrote:
> > > > Display-If-Installed: >=sys-devel/gcc-5
> > >
> > > This means that two years from now, when stages are built using GCC
> > > 5, every new user will get this news item shown to them.
> >
> > multiple news items already use this syntax
>
> Yes, and they cause problems. Do you want to cause another problem, or
> do you want to think more carefully about who should see the news item?
i see no reason to hold things up when the issue won't show up for over a
year, can be retroactively fixed, and really makes no difference to the
status quo. so if you had actual thoughts on improving things (rather
than pointless rhetorical questions), feel free to post them.
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
` (2 preceding siblings ...)
2015-10-03 12:38 ` [gentoo-dev] " Ciaran McCreesh
@ 2015-10-03 23:16 ` hasufell
2015-10-03 23:53 ` Anthony G. Basile
` (2 more replies)
2015-10-05 18:45 ` Paweł Hajdan, Jr.
` (3 subsequent siblings)
7 siblings, 3 replies; 33+ messages in thread
From: hasufell @ 2015-10-03 23:16 UTC (permalink / raw
To: gentoo-dev
On 10/03/2015 04:13 AM, Mike Frysinger wrote:
> Title: GCC 5 Defaults to the New C++11 ABI
> Author: Mike Frysinger <vapier@gentoo.org>
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
>
> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> Or you might see linkage failures with "std::__cxx11::string" in the output.
>
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
We shouldn't assume a particular PM/toolset in news items, IMO. Just
saying that people might have to rebuild packages linked against
libstdc++.so.6 should be enough.
They can read the docs if they don't know how.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 23:16 ` hasufell
@ 2015-10-03 23:53 ` Anthony G. Basile
2015-10-04 3:58 ` [gentoo-dev] " Duncan
2015-10-20 18:17 ` [gentoo-dev] " Mike Frysinger
2015-10-06 4:49 ` Mike Frysinger
2015-10-06 5:43 ` Michał Górny
2 siblings, 2 replies; 33+ messages in thread
From: Anthony G. Basile @ 2015-10-03 23:53 UTC (permalink / raw
To: gentoo-dev
On 10/3/15 7:16 PM, hasufell wrote:
> On 10/03/2015 04:13 AM, Mike Frysinger wrote:
>> Title: GCC 5 Defaults to the New C++11 ABI
>> Author: Mike Frysinger <vapier@gentoo.org>
>> Content-Type: text/plain
>> Posted: 2015-10-02
>> Revision: 1
>> News-Item-Format: 1.0
>> Display-If-Installed: >=sys-devel/gcc-5
>>
>> GCC 5 uses the new C++ ABI by default. When building new code, you might run
>> into link time errors like:
>> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
>> Or you might see linkage failures with "std::__cxx11::string" in the output.
>>
>> These are signs that you need to rebuild packages using the new C++ ABI.
>> You can quickly do so by using revdep-rebuild like so:
>> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>>
> We shouldn't assume a particular PM/toolset in news items, IMO. Just
> saying that people might have to rebuild packages linked against
> libstdc++.so.6 should be enough.
>
> They can read the docs if they don't know how.
>
Nothing precludes adding "see .... if you use paludis or clang."
However, I'd like to see the above in there.
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : blueness@gentoo.org
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA
^ permalink raw reply [flat|nested] 33+ messages in thread
* [gentoo-dev] Re: gcc-5 news item wrt C++ ABI
2015-10-03 23:53 ` Anthony G. Basile
@ 2015-10-04 3:58 ` Duncan
2015-10-20 18:17 ` [gentoo-dev] " Mike Frysinger
1 sibling, 0 replies; 33+ messages in thread
From: Duncan @ 2015-10-04 3:58 UTC (permalink / raw
To: gentoo-dev
Anthony G. Basile posted on Sat, 03 Oct 2015 19:53:14 -0400 as excerpted:
> On 10/3/15 7:16 PM, hasufell wrote:
>> On 10/03/2015 04:13 AM, Mike Frysinger wrote:
>>> Title: GCC 5 Defaults to the New C++11 ABI Author: Mike Frysinger
>>> <vapier@gentoo.org>
>>> Content-Type: text/plain Posted: 2015-10-02 Revision: 1
>>> News-Item-Format: 1.0 Display-If-Installed: >=sys-devel/gcc-5
>>>
>>> GCC 5 uses the new C++ ABI by default. When building new code, you
>>> might run into link time errors like:
>>> ...: undefined reference to
>>> '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
>>> Or you might see linkage failures with "std::__cxx11::string" in the
>>> output.
>>>
>>> These are signs that you need to rebuild packages using the new C++
>>> ABI.
>>> You can quickly do so by using revdep-rebuild like so:
>>> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>>>
>> We shouldn't assume a particular PM/toolset in news items, IMO. Just
>> saying that people might have to rebuild packages linked against
>> libstdc++.so.6 should be enough.
>>
>> They can read the docs if they don't know how.
>>
> Nothing precludes adding "see .... if you use paludis or clang."
> However, I'd like to see the above in there.
... Or simply...
"If you have gentoolkit installed, you can quickly do so by using revdep-
rebuild like so:"...
I've seen that wording used before, and it seems reasonable enough to me,
not assuming anything about whether it's installed, but giving at least
some guidance to the folks who need it.
(If they don't have gentoolkit installed and don't know why, that it
doesn't work with their PM or so, they probably simply followed the basic
handbook install and are thus using portage. In which case, that's a
hint to install gentoolkit... If they're using a PM other than portage,
an assumption that they can read between the lines and make their own
decisions on the merits is reasonable, given that they already did so in
ordered to have that PM in the first place.)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 23:53 ` Anthony G. Basile
2015-10-04 3:58 ` [gentoo-dev] " Duncan
@ 2015-10-20 18:17 ` Mike Frysinger
1 sibling, 0 replies; 33+ messages in thread
From: Mike Frysinger @ 2015-10-20 18:17 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1609 bytes --]
On 03 Oct 2015 19:53, Anthony G. Basile wrote:
> On 10/3/15 7:16 PM, hasufell wrote:
> > On 10/03/2015 04:13 AM, Mike Frysinger wrote:
> >> Title: GCC 5 Defaults to the New C++11 ABI
> >> Author: Mike Frysinger <vapier@gentoo.org>
> >> Content-Type: text/plain
> >> Posted: 2015-10-02
> >> Revision: 1
> >> News-Item-Format: 1.0
> >> Display-If-Installed: >=sys-devel/gcc-5
> >>
> >> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> >> into link time errors like:
> >> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> >> Or you might see linkage failures with "std::__cxx11::string" in the output.
> >>
> >> These are signs that you need to rebuild packages using the new C++ ABI.
> >> You can quickly do so by using revdep-rebuild like so:
> >> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
> >>
> > We shouldn't assume a particular PM/toolset in news items, IMO. Just
> > saying that people might have to rebuild packages linked against
> > libstdc++.so.6 should be enough.
> >
> > They can read the docs if they don't know how.
>
> Nothing precludes adding "see .... if you use paludis or clang."
> However, I'd like to see the above in there.
what is the alternative suggestion for paludis ?
wrt clang, i thought we were using gcc's libstdc++ and not the libc++ project.
if people are using libc++ & clang, then this news entry does not change ...
you'd still need to rebuild anything using libstdc++. that said, i'm not sure
libc++ & clang builds are common enough to warrant mentioning here.
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 23:16 ` hasufell
2015-10-03 23:53 ` Anthony G. Basile
@ 2015-10-06 4:49 ` Mike Frysinger
2015-10-06 5:43 ` Michał Górny
2 siblings, 0 replies; 33+ messages in thread
From: Mike Frysinger @ 2015-10-06 4:49 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1234 bytes --]
On 04 Oct 2015 01:16, hasufell wrote:
> On 10/03/2015 04:13 AM, Mike Frysinger wrote:
> > Title: GCC 5 Defaults to the New C++11 ABI
> > Author: Mike Frysinger <vapier@gentoo.org>
> > Content-Type: text/plain
> > Posted: 2015-10-02
> > Revision: 1
> > News-Item-Format: 1.0
> > Display-If-Installed: >=sys-devel/gcc-5
> >
> > GCC 5 uses the new C++ ABI by default. When building new code, you might run
> > into link time errors like:
> > ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> > Or you might see linkage failures with "std::__cxx11::string" in the output.
> >
> > These are signs that you need to rebuild packages using the new C++ ABI.
> > You can quickly do so by using revdep-rebuild like so:
> > # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
> We shouldn't assume a particular PM/toolset in news items, IMO. Just
> saying that people might have to rebuild packages linked against
> libstdc++.so.6 should be enough.
there's no requirement for you to use revdep-rebuild. including quick
insns for the common case is a no brainer really.
> They can read the docs if they don't know how.
and they can if the common case doesn't work for them.
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 23:16 ` hasufell
2015-10-03 23:53 ` Anthony G. Basile
2015-10-06 4:49 ` Mike Frysinger
@ 2015-10-06 5:43 ` Michał Górny
2 siblings, 0 replies; 33+ messages in thread
From: Michał Górny @ 2015-10-06 5:43 UTC (permalink / raw
To: gentoo-dev, hasufell
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Dnia 4 października 2015 01:16:51 CEST, hasufell <hasufell@gentoo.org> napisał(a):
>On 10/03/2015 04:13 AM, Mike Frysinger wrote:
>> Title: GCC 5 Defaults to the New C++11 ABI
>> Author: Mike Frysinger <vapier@gentoo.org>
>> Content-Type: text/plain
>> Posted: 2015-10-02
>> Revision: 1
>> News-Item-Format: 1.0
>> Display-If-Installed: >=sys-devel/gcc-5
>>
>> GCC 5 uses the new C++ ABI by default. When building new code, you
>might run
>> into link time errors like:
>> ...: undefined reference to
>'_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
>> Or you might see linkage failures with "std::__cxx11::string" in the
>output.
>>
>> These are signs that you need to rebuild packages using the new C++
>ABI.
>> You can quickly do so by using revdep-rebuild like so:
>> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>>
>
>We shouldn't assume a particular PM/toolset in news items, IMO. Just
>saying that people might have to rebuild packages linked against
>libstdc++.so.6 should be enough.
Wrong. We should provide examples for the common case. Examples are often easier to comprehend than elaborate attempts of explaining what needs to be done.
>
>They can read the docs if they don't know how.
- --
Best regards,
Michał Górny
-----BEGIN PGP SIGNATURE-----
iQJJBAEBCgAzLBxNaWNoYcWCIEfDs3JueSAoR2VudG9vKSA8bWdvcm55QGdlbnRv
by5vcmc+BQJWE1+CAAoJELB6GurvtEZOthMP/R09P/RH5SHo1QpZBmdcJrSGDgS3
6k9R/r9ddT7FbJJUgEh5/uA1ftW3f4Fp2qkGnZa5bLD/w6CKAaPDJE6ZVG/njRu9
FUkdsH5P5paGBZphR6s4WVHGNcpbovnkDJce90BkO//WzrPrqfRr1G47Q/U/rdIj
ZPb/aoOn1vj1zvX5z2x7N6PbhCCnGneRcQvdvY2vaQ7CN7exhwgucY43xIPP5YZx
c0EVJvbmpSjathH+j1fvprL/5E+58Wv14f5x8i3V/l9w3aWytGUxK4LDjOGbPs5L
OCztWZWsSes/YeQZF4OX8lc16vwCpro8PI47kgzQub8lgOARIVcyfhtl2taX8lYf
hYQXYSzpElwc5rPQeQ4/ZCLDL+JjbcjZDr3gfpBR3J14UY7vGgCUEvIPk6tDxXMf
BaSAB3JhbJ4AYRhLxnTBDAEBSioEYnHqGX5Y/U+HHBnj0WbesU3r88Df2RZuyBxD
rsoUsyXer1QMm2SoVc5P7SfGuHKeZW1F78VRirmMYpEtrUD5PgczH9UFYVVmuInE
FA/2XKfQ+noIY+sx948pvwESuxpJ40NoDbbdojFLIId3FsUUmDFLf4tuEIvMSMKM
IZhnUxzCg6DdO/BhJQK8sPRHxk7W6EaPT7wuITt/h27Ls9qjWfqAgCd2r0mJ2N9c
tNHI964xZS6TScq2
=dMvl
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
` (3 preceding siblings ...)
2015-10-03 23:16 ` hasufell
@ 2015-10-05 18:45 ` Paweł Hajdan, Jr.
2015-10-05 19:20 ` Jason A. Donenfeld
2015-10-06 4:46 ` Mike Frysinger
2015-10-17 10:07 ` Anthony G. Basile
` (2 subsequent siblings)
7 siblings, 2 replies; 33+ messages in thread
From: Paweł Hajdan, Jr. @ 2015-10-05 18:45 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1253 bytes --]
On 10/3/15 4:13 AM, Mike Frysinger wrote:
> Title: GCC 5 Defaults to the New C++11 ABI
> Author: Mike Frysinger <vapier@gentoo.org>
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
>
> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> Or you might see linkage failures with "std::__cxx11::string" in the output.
>
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
> For more details, feel free to peruse:
> https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4?
Are there any instructions for that? Is it sufficient to do a similar
revdep-rebuild command?
In case the downgrade would horribly break systems or be otherwise
highly nontrivial, I'd recommend some note for that.
Paweł
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 827 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-05 18:45 ` Paweł Hajdan, Jr.
@ 2015-10-05 19:20 ` Jason A. Donenfeld
2015-10-06 4:46 ` Mike Frysinger
1 sibling, 0 replies; 33+ messages in thread
From: Jason A. Donenfeld @ 2015-10-05 19:20 UTC (permalink / raw
To: gentoo-dev
On Mon, Oct 5, 2015 at 8:45 PM, Paweł Hajdan, Jr. <phajdan.jr@gentoo.org> wrote:
> Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4?
>
I've gone 4->5, urg I don't want 5, 5->4, okay it works, hey wait I
want 5, 4->5. Things went fine.
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-05 18:45 ` Paweł Hajdan, Jr.
2015-10-05 19:20 ` Jason A. Donenfeld
@ 2015-10-06 4:46 ` Mike Frysinger
1 sibling, 0 replies; 33+ messages in thread
From: Mike Frysinger @ 2015-10-06 4:46 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1715 bytes --]
On 05 Oct 2015 20:45, Paweł Hajdan, Jr. wrote:
> On 10/3/15 4:13 AM, Mike Frysinger wrote:
> > Title: GCC 5 Defaults to the New C++11 ABI
> > Author: Mike Frysinger <vapier@gentoo.org>
> > Content-Type: text/plain
> > Posted: 2015-10-02
> > Revision: 1
> > News-Item-Format: 1.0
> > Display-If-Installed: >=sys-devel/gcc-5
> >
> > GCC 5 uses the new C++ ABI by default. When building new code, you might run
> > into link time errors like:
> > ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> > Or you might see linkage failures with "std::__cxx11::string" in the output.
> >
> > These are signs that you need to rebuild packages using the new C++ ABI.
> > You can quickly do so by using revdep-rebuild like so:
> > # revdep-rebuild --library 'libstdc\+\+\.so\.6'
> >
> > For more details, feel free to peruse:
> > https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> > https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
>
> Curious, can one reasonably easy downgrade from GCC 5 back to GCC 4?
>
> Are there any instructions for that? Is it sufficient to do a similar
> revdep-rebuild command?
>
> In case the downgrade would horribly break systems or be otherwise
> highly nontrivial, I'd recommend some note for that.
it's like any other attempt to downgrade an ABI: you're on your own.
in Gentoo, we guarantee backwards compatibility, not forward -- this
is not specific to GCC.
in practice, as long as you don't unmerge gcc-5, you can switch the
active compiler to gcc-4.9 and use it, but the runtime libs will be
taken from the latest one you have installed (gcc-5).
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
` (4 preceding siblings ...)
2015-10-05 18:45 ` Paweł Hajdan, Jr.
@ 2015-10-17 10:07 ` Anthony G. Basile
2015-10-22 13:57 ` Mike Frysinger
2015-12-20 21:31 ` Mike Gilbert
7 siblings, 0 replies; 33+ messages in thread
From: Anthony G. Basile @ 2015-10-17 10:07 UTC (permalink / raw
To: gentoo-dev
On 10/2/15 10:13 PM, Mike Frysinger wrote:
> Title: GCC 5 Defaults to the New C++11 ABI
> Author: Mike Frysinger <vapier@gentoo.org>
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
>
> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> Or you might see linkage failures with "std::__cxx11::string" in the output.
>
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
> For more details, feel free to peruse:
> https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
i know there's no rush, but let's not loose sight of this.
--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail : blueness@gentoo.org
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA
GnuPG ID : F52D4BBA
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
` (5 preceding siblings ...)
2015-10-17 10:07 ` Anthony G. Basile
@ 2015-10-22 13:57 ` Mike Frysinger
2015-12-20 21:31 ` Mike Gilbert
7 siblings, 0 replies; 33+ messages in thread
From: Mike Frysinger @ 2015-10-22 13:57 UTC (permalink / raw
To: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 141 bytes --]
i've pushed the news item now since there hasn't been any actionable
feedback since. it can always be refined based on user feedback.
-mike
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 33+ messages in thread
* Re: [gentoo-dev] gcc-5 news item wrt C++ ABI
2015-10-03 2:13 ` [gentoo-dev] gcc-5 news item wrt C++ ABI Mike Frysinger
` (6 preceding siblings ...)
2015-10-22 13:57 ` Mike Frysinger
@ 2015-12-20 21:31 ` Mike Gilbert
7 siblings, 0 replies; 33+ messages in thread
From: Mike Gilbert @ 2015-12-20 21:31 UTC (permalink / raw
To: Gentoo Dev
On Fri, Oct 2, 2015 at 10:13 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> Title: GCC 5 Defaults to the New C++11 ABI
> Author: Mike Frysinger <vapier@gentoo.org>
> Content-Type: text/plain
> Posted: 2015-10-02
> Revision: 1
> News-Item-Format: 1.0
> Display-If-Installed: >=sys-devel/gcc-5
>
> GCC 5 uses the new C++ ABI by default. When building new code, you might run
> into link time errors like:
> ...: undefined reference to '_ZNSt6chrono12steady_clock3nowEv@GLIBCXX_3.4.17'
> Or you might see linkage failures with "std::__cxx11::string" in the output.
>
> These are signs that you need to rebuild packages using the new C++ ABI.
> You can quickly do so by using revdep-rebuild like so:
> # revdep-rebuild --library 'libstdc\+\+\.so\.6'
>
> For more details, feel free to peruse:
> https://developerblog.redhat.com/2015/02/05/gcc5-and-the-c11-abi/
> https://blogs.gentoo.org/blueness/2015/03/10/the-c11-abi-incompatibility-problem-in-gentoo/
Just a heads-up: the python-based revdep-rebuild which is included
with gentoolkit-0.3.1 requires slightly different syntax:
# revdep-rebuild --library 'libstdc++.so.6'
I pushed a revision to the news item with updated instructions.
^ permalink raw reply [flat|nested] 33+ messages in thread