commit: 9e7f85087d04f931cba57ba019a8842a8af9470b Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Thu Oct 22 13:56:54 2015 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Thu Oct 22 16:04:55 2015 +0000 URL: https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=9e7f8508
gcc-5: news item about C++ ABI breakage .../2015-10-22-gcc-5-new-c++11-abi.en.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/2015-10-22-gcc-5-new-c++11-abi/2015-10-22-gcc-5-new-c++11-abi.en.txt b/2015-10-22-gcc-5-new-c++11-abi/2015-10-22-gcc-5-new-c++11-abi.en.txt new file mode 100644 index 0000000..5f6ffbb --- /dev/null +++ b/2015-10-22-gcc-5-new-c++11-abi/2015-10-22-gcc-5-new-c++11-abi.en.txt @@ -0,0 +1,21 @@ +Title: GCC 5 Defaults to the New C++11 ABI +Author: Mike Frysinger <vap...@gentoo.org> +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) like so: +# revdep-rebuild --library 'libstdc\+\+\.so\.6' -- --exclude gcc + +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/