> It's hard to know what to say when you decide that the > documentation is wrong. I understand what you are trying > to do, but it is not supported. Sorry I didn't mean to offend. >> and the build fails. The output is shown here http://pastebin.com/p4iD7h4i > > The failure appears to be that you are compiling libstdc++ with a different > version of g++. In general you must build libstdc++ with the version of > g++ that it is shipped with. libstdc++ includes non-standard code which > is dependent on the specific version of the compiler. Okay I've found the correct source tarball that matches the version of g++ on my system. So now how do I go about building libstdc++ only the correct way with debugging symbols? Assuming `gcc-root' is the root source tree as before. Is running this correct? $ ../gcc-root/configure --enable-languages=c++ --enable-libstdcxx-debug --prefix=$HOME/local Will the --enable-libstdcxx-debug option be accepted correctly even though it's being passed to ../gcc-root/configure rather than ../gcc-root/libstdc++/configure ? Assuming that's right do I run $ make all-target-libstdc++-v3 ? I found that make target by looking at the script that builds libstdc++-v3 for my distribution (Arch Linux). If that is the make target I need to build only libstdc++-v3 then maybe that should be in the documentation somewhere? > Many functions in libstdc++ are inlined from header files, and as such are > affected by the use of -g when you compile, rather than whether -g was > used when libstdc++ itself was built. Note that -D_GLIBCXX_DEBUG > does not affect whether debugging symbols are generated; it produces > a debugging version of the code which adds runtime checks to make > sure that functions are being used correctly. That's good to know. Thanks for the very informative reply. All the best, Dan.