(In reply to Richard Biener from comment #16) > (In reply to Ismail Donmez from comment #15) > > (In reply to Richard Biener from comment #14) > > > (In reply to Ismail Donmez from comment #13) > > > > Though btw, one workaround would be utilizing libc++ via -stdlib=libc++ (You > > > > might have to add -lc++abi to LDFLAGS manually). > > > > > > Not sure if that helps when boost was built with GCC - you'll end up linking > > > with two C++ libraries and likely break inter-operability that way. > > > > True, for this to work boost should be compiled with libc++ too. Btw, > > shouldn't everything work fine when everything is built with gcc5. > > Yes, if everything is built with gcc5 you are fine (as verified by pth). > > > Like our > > llvm package is built with clang ( which is compiled with gcc5 in stage1 ) > > and it seems to work fine. > > Sure, but in no stage it mixes objects built by gcc5 and clang ;) (does > it use libc++?) > > > I thought only problem would happen when mixing gcc4 and gcc5 together. > > No, the issues start when mixing both ABIs. But the issue here is that > with using LLVM and libstdc++ from GCC 5 you end up using the new ABI > with an incompatible mangling (thus techincally a third ABI not provided > by GCC at all). If CLang can be identified you could #error in libstdc++ where _GLIBCXX_USE_CXX11_ABI is set to the configured default in c++config.h: #ifndef _GLIBCXX_USE_CXX11_ABI # define _GLIBCXX_USE_CXX11_ABI 1 #endif thus add #if __clang #error CLANG does not support the GCC CXX11 ABI #endif which would make builds fail instead of producing this kind of odd errors. Similarly CLang could be fixed to error on __attribute__((__abi_tag)) which it doesn't support.