Created attachment 434408 [details] emerge --info I tried to build www-client/chromium-52.0.2723.2 and also chromium-50.0.2661.102, and got error: obj/base/metrics/base.persistent_memory_allocator.o: In function `base::PersistentMemoryAllocator::PersistentMemoryAllocator(void*, unsigned long, unsigned long, unsigned long, base::BasicStringPiece<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, bool)': persistent_memory_allocator.cc:(.text._ZN4base25PersistentMemoryAllocatorC2EPvmmmNS_16BasicStringPieceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEb+0x88): undefined reference to `__atomic_is_lock_free' persistent_memory_allocator.cc:(.text._ZN4base25PersistentMemoryAllocatorC2EPvmmmNS_16BasicStringPieceINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEb+0x2c3): undefined reference to `__atomic_is_lock_free' collect2: error: ld returned 1 exit status
You have upgraded to gcc-5 and not done all the rebuilds required, according to the news item. 2015-10-22-gcc-5-new-c++11-abi Title GCC 5 Defaults to the New C++11 ABI Author Mike Frysinger <vapier@gentoo.org> Posted 2015-10-22 Revision 2 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: # revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc For previous versions of gentoolkit: # 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/
>You have upgraded to gcc-5 and not done all the rebuilds required, according to >the news item. I am not agree with you. I have my own c++11 projects (which uses chrono, atomic, thread, string of course), and all of them compiled fine, also >For gentoolkit-0.3.1 or higher: ># revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc # revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc * Configuring search environment for revdep-rebuild * Environment mismatch from previous run, deleting temporary files... * Checking reverse dependencies * Packages containing binaries and libraries using libstdc++.so.6 * will be emerged. * Collecting system binaries and libraries * Generated new 1_files.rr * Checking dynamic linking [ 100% ] * There are no dynamic links to libstdc++.so.6... All done. As you see revdev-rebuild rebuild nothing, plus I upgraded to gcc 5.x long time ago, and untill chromium 50 all compiled fine, for example: strings -a /usr/lib/debug/usr/lib64/chromium-browser/chromedriver.debug | grep -i gcc GCC: (Gentoo 5.2.0 p1.1, pie-0.6.4) 5.2.0 GCC: (Gentoo 5.2.0 p1.3, pie-0.6.5) 5.2.0 as your can see chromium 49 compiled with gcc 5.2.0
Please use the other revdep-rebuild command given, with the \ escapes