On 04/26/2017 11:03 PM, Walter Dnes wrote: > On Wed, Apr 26, 2017 at 06:01:20AM +0800, Bill Kenworthy wrote > >> That flag isn't mentioned here. > > I checked the source code. It forces the old ABI, so it should work, > compiled with GCC 5.4.0, even on a Gcc 4.9.4 system... > > [CentOS65][pmbuilder][~/pmmaster] grep -r GLIBCXX_USE_CXX11_ABI pmsrc > pmsrc/configure: CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" > pmsrc/configure: HOST_CXXFLAGS="$HOST_CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" > pmsrc/configure.in: CXXFLAGS="$CXXFLAGS -D_GLIBCXX_USE_CXX11_ABI=0" > pmsrc/configure.in: HOST_CXXFLAGS="$HOST_CXXFLAGS > -D_GLIBCXX_USE_CXX11_ABI=0" >
Walter, That flag "-D_GLIBCXX_USE_CXX11_ABI=0" is a CPPFLAG. It is only recognized by GCC 5.1.x and higher. And it only works on GCC built with dual ABI support. Gentoo doesn't support the dual ABI builds. Info links : https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_macros.html https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html#abi.versioning.__GLIBCXX__ https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html On my system, I went ahead with the switch to GCC 5.4.0. The "-D_GLIBCXX_USE_CXX11_ABI=1" CPPFLAG forces GCC to check IF the new ABI should be applied FIRST. NO FORCING the ABI on software that doesn't use it. Putting CPPFLAGS="-D_GLIBCXX_USE_CXX11_ABI=1" in make.conf killed almost all the erorrs in the revdep-rebuild process. Putting that in as a CFLAGS or CXXFLAGS switch caused lots of errors in revdep-rebuild. Thought you might want to know. Corbin