Re: preparing for GCC 5, especially libstdc++6
On 16/06/15 23:37, Matthias Klose wrote:
> it's time to prepare for GCC 5 as the default compiler in unstable. Compared to
> earlier version bumps, the switch to GCC 5 is a bit more complicated because
> libstdc++6 sees a few ABI incompatibilities, partially depending on the C++
> standard version used for the builds. libstdc++6 will support two ABI's, the
> classic cxx98 ABI (currently in testing/unstable) and the new cxx11 ABI
> (currently enabled in experimental as the default ABI).
> - the majority of packages using c++98 or earlier c++ standards
> should just continue to work.
> - In GCC 4.9 and earlier versions the libstdc++6 C++11 support was
> still marked as experimental, and upstream doesn't (and didn't in the past)
> guarantee c++11 ABI compatibility across major GCC versions.
> It worked somehow ok in the past, however it won't this time.
> - some c++98 code won't work when parts are built using GCC 4.9, and some
> parts with GCC 5 (see PR66145 upstream).
> Unfortunately due to PR66145 we already have an incompatible libstdc++6 (at
> least for some packages) in testing/unstable, which was only seen after the
> first packages were rebuilt and issues like #784655 were reported.
> My goal is to make the GCC version bump in early July, and use the time until
> then to prepare libstdc++6 depending packages to get ready for GCC 5, and
> avoiding version bumps for C++ libraries until this time.
> Details for the whole transition are outlined in
> I'd appreciate feedback for this plan, clarify the wiki page, and would like to
> post a finalized plan next week to d-d-a, and file appropriate transition bugs
> next week.
Thanks for the report. I have looked at the wiki page, but it's not entirely
clear to me how the libstdc++ transition will go, so I have a few questions to
better understand it.
- You suggest that some libraries may need to be renamed due to the ABI breaks.
Do you have a list of affected libraries?
- Will those libraries need to migrate all at the same time with libstdc++, or
could libstdc++/gcc-5 migrate first, and then the libraries can slowly migrate
My main concern with all this is if we'll have a huge transition with lots of
libraries been renamed and having to migrate at the same time with their rdeps.