On 24 March 2016 at 16:43, Jeffrey Walton wrote: > There are lots of folks who have experienced the issue; check out > http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=libstdc%2B%2B-cxx11;users=debian-gcc@xxxxxxxxxxxxxxxx. > Debian happened to say "f**k it, we'll just recompile everything under > the new ABI and be done with it". But they experienced the corner-case > issues too. I don't know why they did not consult with the GCC folks. They did. Rebuilding everything is the right choice. For Debian to modify all their libraries to use a "dual ABI" and ship those modified versions would take months, probably years, and would require ongoing maintenance as the modified versions diverge from upstream. > I'm the type of person who wants to get a definitive or authoritative > answer so I can make informed decisions. That's why I come here to ask > the experts. > > This step was not obvious to me at all. I don't ever recall having to > define a library macro for a library: > > $ g++ -D_GLIBCXX_USE_CXX11_ABI=0 -c test.cxx -o test-v1.o > $ g++ -D_GLIBCXX_USE_CXX11_ABI=1 -c test.cxx -o test-v2.o > > Naively, because of the blog post on the coexistent implementations, I > was looking for an option like -dual-abi to do it for me. Which is a leap that doesn't in any way follow from a literal reading of the blog post!