[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

c++ STL namespaces, which file is included?



Synopsis: STL namespaces, which file is included?
Severity: medium
Priority: medium
Category: c++ c
Release: g++-3.3 (GCC) 3.3.6 (Debian 1:3.3.6-1)
Environment: Linux Charon 2.6.10 i686 GNU/Linux
Architecture: i686

Hi, I'm sorry to have to repeat a question which was posed in January
2004 by Piotr Kozieradzki in general. Forgive me if I'm wrong here, but
I think my question is related directly to gcc. 

My concrete problem is MUTE, a C++ wxWindows application. Of course I'd
ask the author specific questions, but however, the interesting thing is
I have both gcc-2.95 and gcc-3.3 installed, and there are two versions
of stl_alloc.h:

$ dpkg -S stl_alloc.h
libstdc++2.10-dev: /usr/include/g++-3/stl_alloc.h
stl-manual: /usr/share/doc/stl-manual/html/stl_alloc.h
libstdc++5-3.3-dev: /usr/include/c++/3.3/bits/stl_alloc.h

I thought that the one of libstdc++2.10-dev is old (for gcc-2.95, even
if the directory is called g++-3) and the one of libstdc++5-3.3-dev is
more recent. However, under the lots of errors the compilation of MUTE
gives me I find

--- snip
GuiApp.o(.text+0x21): In function
`__malloc_alloc_template<0>::deallocate(void *
, unsigned int)':
/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g
++-3/stl_alloc.h: undefined reference to
`wxAppBase::CheckBuildOptions(wxBuildOptions const &)'
GuiApp.o(.text
+0x2e):/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-
3/stl_alloc.h: undefined reference to `__builtin_new'
GuiApp.o(.text
+0x5a):/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-
3/stl_alloc.h: undefined reference to `__builtin_delete'
GuiApp.o(.text
+0x71):/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-
3/stl_alloc.h: undefined reference to `__throw'
GuiApp.o(.text
+0x8b):/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-
3/stl_alloc.h: undefined reference to `__builtin_delete'
GuiApp.o(.text
+0xa1):/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-
3/stl_alloc.h: undefined reference to `__throw'
GuiApp.o(.text
+0xa8):/usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-
3/stl_alloc.h: undefined reference to `terminate(void)'
--- snap

So the old stl_alloc.h is giving errors. Apparently, MUTE isn't calling
that file directly (a recursive grep found nothing). Has anyone an idea
how to say g++-3.3 that he should use the files of libstdc++5 without
uninstalling libstdc++2.10 (and gcc-2.95) ?

Best wishes to everybody,
Viktor.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: