This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Compiling only libstdc++-v3 (with debugging symbols)


Hi I'm trying to compile libstdc++-v3 with debugging symbols and I'm a
little stuck. I'm trying to follow the documentation
`/libstdc++-v3/doc/html/manual/setup.html' and I'm not finding it very
clear what I'm supposed to do if I want to ONLY build libstdc++-v3 and
NOTHING else.

So far I have

1. Downloaded the entire source tree of the gcc project via svn

$ svn checkout svn://gcc.gnu.org/svn/gcc/trunk gcc-root

2. The documentation seems to strongly recommend that my code is NOT
compiled in the source directory so I did the following.

$ mkdir gcc-build
$ cd gcc-build

3. Now here's where I get confused the documentation says "When
configuring libstdc++, you'll have to configure the entire gccsrcdir
directory."

Isn't that going to build everything though? I don't want to do that.
Surely I want to run

$ ../gcc-root/libstdc++-v3/configure --enable-libstdcxx-debug
--prefix=$HOME/local

and NOT (as the documentation suggests)

$ ../gcc-root/configure --enable-languages=c++
--enable-libstdcxx-debug --prefix=$HOME/local

anyway I ran `../gcc-root/libstdc++-v3/configure
--enable-libstdcxx-debug --prefix=$HOME/local'. All the checks passed
a make file was generated in my current directory (gcc-build).

$ ls
config.h  config.log  config.status  doc  include  libsupc++  libtool
Makefile  po  python  scripts  src  stamp-h1  testsuite

4. I tried running make
$ make

and the build fails. The output is shown here http://pastebin.com/p4iD7h4i

The reason I'm trying to do this is so I can build programs on my
system and debug the standard library objects. For example when in gdb
if I try to do the following
gdb) call cout.good()
Couldn't find method std::ostream:;good

I presume this error message is because my version of libstdc++ has no
debugging symbols. I did try compiling with `-D_GLIBCXX_DEBUG' and for
someone reason that I can't explain that made some standard library
objects I declared in the stack accessible via gdb (e.g. if I had an
ifstream object called inputFile) despite the fact my version of
libstdc++ has no debugging symbols at all!

gdb) call inputFile.good()
$1 = true

Without that compiler flag I can't seem to call any of the methods on
standard library objects my code creates.

What am I doing wrong?

Thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]