Stuart Henderson: > > ld: error: undefined symbol: std::__1::basic_ostream<char, > > std::__1::char_traits<char> >::operator<<(std::__1::basic_ostream<char, > > std::__1::char_traits<char> >& (*)(std::__1::basic_ostream<char, > > std::__1::char_traits<char> >&)) > > >>> referenced by TodoDB.cc > > >>> > > >>> TodoDB.o:(TodoDB::StreamColour::veryhigh(std::__1::basic_ostream<char, > > >>> std::__1::char_traits<char> >&)) > > I'll update i386 after my current build is done and take a look there > (got about a day to go) but if you have time could you try reordering > the #includes in util/Strings.h please? Perhaps move "#include <string>" > up ..
??? That doesn't have any bearing on the problem at hand. ld complains that this is an undefined symbol: std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >& (*)(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)) Which is a bit confusing, because it appears in libc++.so.3.0. Anyway, in more human-readable form that's ... basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)) ... which brings us to this part of the libc++ diff: // 27.7.2.6 Formatted output: - inline _LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY + inline _LIBCPP_HIDE_FROM_ABI_AFTER_V1 basic_ostream& operator<<(basic_ostream& (*__pf)(basic_ostream&)) { return __pf(*this); } c++ -E confirms that this now expands to an additional __visibility__("hidden"). So... (1) Is this change intentional? (2) If so, what's required to fix the code? -- Christian "naddy" Weisgerber na...@mips.inka.de