[Bug libstdc++/18054] Undefined reference to ~basic_iostream(), with -O[12]

veksler at il dot ibm dot com gcc-bugzilla@gcc.gnu.org
Tue Oct 19 11:01:00 GMT 2004


------- Additional Comments From veksler at il dot ibm dot com  2004-10-19 11:01 -------
Yes, I do get the same errors as reported in 
http://gcc.gnu.org/ml/libstdc++/2004-09/msg00125.html

Here is the offending symbol:
$ nm --demangle /home/veksler/gcc-4.0-20041017/lib/libstdc++.so | grep
'<char.*~basic_iostream' | grep -v thunk

0005cd90 t std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
[in-charge deleting]()
0005ccd0 t std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
[in-charge]()
0005cc40 t std::basic_iostream<char, std::char_traits<char> >::~basic_iostream
[not-in-charge]()


As you see, this symbol is local.

My compile was clean, no left overs from previous gcc compiles.

$ tar xjf gcc-4.0-20041017.tar.bz2
$ mv gcc-4.0-20041017 gcc-4.0-20041017.src
$ mkdir objs gcc-4.0-20041017
$ cd objs
$ ../gcc-4.0-20041017.src/configure --prefix=/home/veksler/gcc-4.0-20041017
--enable-languages=c++
$ make profiledbootstrap
****** crash and burn ****
$ cd .. ; rm -rf objs ; mkdir objs ; cd objs
$ ../gcc-4.0-20041017.src/configure --prefix=/home/veksler/gcc-4.0-20041017
--enable-languages=c++
$ make bootsrap
$ make install

Maybe profiledbootstrap trashed the source directory? If that is the case,
then the makefiles are way too buggy.

I'll try to re-create the source directory, and recompile. 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18054



More information about the Gcc-bugs mailing list