http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54314
Bug #: 54314 Summary: undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >' Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: regression AssignedTo: unassig...@gcc.gnu.org ReportedBy: vanboxem.ru...@gmail.com I'm trying to build GCC 4.8 for x86_64-w64-mingw32. I have a cross-compiler but I cannot build my C++ code with it. The error is exactly the same as the one detailed here: http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01142.html I seem to be unable to detect when exactly this problem shows up, but I run into it when building PPL-0.12.1 with the Linux->Windows cross-compiler: /bin/bash ../../libtool --tag=CXX --mode=link x86_64-w64-mingw32-g++ -g -O2 -frounding-math -W -Wall -o ppl_pips.exe ppl_pips.o ../../src/libppl.la ../../utils/libppl_utils.a -L/home/ruben/mingw-w64/prereq/x86_64-w64-mingw32/install/lib -lgmpxx -lgmp libtool: link: x86_64-w64-mingw32-g++ -g -O2 -frounding-math -W -Wall -o ppl_pips.exe ppl_pips.o ../../src/.libs/libppl.a -L/home/ruben/mingw-w64/prereq/x86_64-w64-mingw32/install/lib ../../utils/libppl_utils.a /home/ruben/mingw-w64/prereq/x86_64-w64-mingw32/install/lib/libgmpxx.a /home/ruben/mingw-w64/prereq/x86_64-w64-mingw32/install/lib/libgmp.a ppl_pips.o: In function `basic_istream': /home/ruben/mingw-w64/linux64mingw64/mingw64/x86_64-w64-mingw32/include/c++/4.8.0/istream:609: undefined reference to `construction vtable for std::istream-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' /home/ruben/mingw-w64/linux64mingw64/mingw64/x86_64-w64-mingw32/include/c++/4.8.0/istream:609: undefined reference to `construction vtable for std::istream-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' ppl_pips.o: In function `~basic_istream': /home/ruben/mingw-w64/linux64mingw64/mingw64/x86_64-w64-mingw32/include/c++/4.8.0/istream:106: undefined reference to `construction vtable for std::istream-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' ppl_pips.o: In function `basic_istream': /home/ruben/mingw-w64/linux64mingw64/mingw64/x86_64-w64-mingw32/include/c++/4.8.0/istream:609: undefined reference to `construction vtable for std::istream-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' /home/ruben/mingw-w64/linux64mingw64/mingw64/x86_64-w64-mingw32/include/c++/4.8.0/istream:609: undefined reference to `construction vtable for std::istream-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' ppl_pips.o:/home/ruben/mingw-w64/linux64mingw64/mingw64/x86_64-w64-mingw32/include/c++/4.8.0/istream:106: more undefined references to `construction vtable for std::istream-in-std::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >' follow collect2: error: ld returned 1 exit status This effectively makes g++ useless. I seem to remember only non-debug builds are affected.