http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54630
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|blocker |normal --- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-11-21 11:19:54 UTC --- When LINKER=$(CXX) you do not "link with a C++ compiler" you still link with the linker, ld, but the g++ driver passes it additional libs including -lstdc++. That means you can't fine-tune which libstdc++ is used, defeating the purpose of --with-host-libstdcxx. To allow fine-tuning the libs, you need the additional libs to not be used, which implies not linking with g++. If you use --with-host-libstdcxx then you need to get the argument right. (In reply to comment #8) > After that, I'll try to use a newer GCC on CentoS Linux i386 and try again > with > --with-host-libstdcxx='-static-libgcc -static-libstdc++ -lm'. This seems to > be > the more modern equivalent on more recent gcc/g++ compilers. No, it's not equivalent, -static-libstdcxx does not imply -lstdc++, which is why you get missing symbols. Why not just use the Sourcery configuration that works?