Upgrading from gcc-4.x to gcc-5.x

Critical News
The following (GLEP:42) message has been sent to inform users about the important changes.

Title: GCC 5 Defaults to the New C++11 ABI Author: Mike Frysinger  Content-Type: text/plain Posted: 2015-10-22 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 that include lines similar to: ...: 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 (from gentoolkit). For gentoolkit-0.3.1 or higher: For previous versions of gentoolkit: 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/
 * 1) revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc
 * 1) revdep-rebuild --library 'libstdc\+\+\.so\.6' -- --exclude gcc

Instructions by the GNU project

 * https://gcc.gnu.org/gcc-5/porting_to.html Porting to GCC 5

undefined references to std::__cxx11
It is not a bug, if packages fail with undefined references to std::__cxx11 or [abi:cxx11] like

cmGlobalGenerator.cxx:(.text+0x12781): undefined reference to `Json::Value::Value(std::__cxx11::basic_string const&)'

It means you need to rebuild the package that provided that symbol first. See https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html for more info.

Bugzilla entries about gcc-5.3

 * https://bugs.gentoo.org/show_bug.cgi?id=536984 the Tracker bug (gcc-5) GCC 5 porting
 * https://bugs.gentoo.org/buglist.cgi?quicksearch=gcc-5.3&list_id=3005290 Open Bugzilla entries regarding gcc-5.3