This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
linking problem, I messed up but don't know how
- To: binutils at sources dot redhat dot com
- Subject: linking problem, I messed up but don't know how
- From: Robert Schweikert <rjschwei at mindspring dot com>
- Date: Sat, 15 Sep 2001 08:42:01 -0400
Hi All;
This is probably the wrong list, but I thought I'd start here.
I am trying to built a C++ library (GUI) and am having some trouble.
This used to work, but somehow I messed up my system and I need some
help figuring out what to do.
I am running a modified RedHat 6.2 system using gcc-2.95.2 and the
binutils that came with RedHat 6.2.
In June I built this "same" (previous release) library on the system and
everything worked, now it's broken. When I try to run one of the test
programs that come with the library source I get the following error.
lt-button: error in loading shared libraries:
/usr/local/src/fox-0.99.174/src/.libs/libFOX-0.99.so.174: undefined
symbol: __builtin_new
This indicates to me that the standard c++ library was not linked
properly. However, I have no clue how I managed to screw this up. When I
built the previous version of the library in June I did get the new
operator in the library
nm -Bg /usr/local/lib/libFOX-0.99.so.172 | grep new
001f3db4 W __builtin_new
001f3fb4 W __builtin_vec_new
0026fe30 B __new_handler
001f5150 T set_new_handler__FPFv_v
but now I do not get this anymore
nm -Bg /usr/local/src/fox-0.99.174/src/.libs/libFOX-0.99.so.174 | grep
new
U __builtin_new
U __builtin_vec_new
001fa0e8 T inflate_blocks_new
001fb9d0 T inflate_codes_new
To make sure this was not some kind of configuration issue I rebuild the
previous version of the library (didn't install it) and I got exactly
the same error as with the new library. Thus I conclude that I somehow
messed up my linker or compiler or both. I have no clue how I did this,
thus any help in this direction is appreciated.
The standard c++ library is on the system
locate libstdc++ | grep -v src
/usr/i486-linux-libc5/lib/libstdc++.so.27.1.4
/usr/i486-linux-libc5/lib/libstdc++.so.27
/usr/lib/gcc-lib/i686-redhat-linux/2.95/libstdc++.so
/usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
/usr/lib/libstdc++-libc6.1-2.so.3
/usr/lib/libstdc++.so.2.7.2.8
/usr/lib/libstdc++-libc6.1-1.so.2
/usr/lib/libstdc++.so.2.8.0
/usr/lib/libstdc++.so.2.8
/usr/lib/libstdc++.so.2.7.2
/usr/lib/libstdc++-3-libc6.1-2-2.10.0.so
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95/libstdc++.a
/usr/local/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/libstdc++.a
/usr/local/lib/libstdc++.a.2.10.0
/usr/local/lib/libstdc++-3-libc6.1-2-2.10.0.a
/usr/local/lib/libstdc++-libc6.1-2.a.3
/usr/local/lib/libstdc++-3-libc6.1-2-2.10.0.so
/usr/local/lib/libstdc++-libc6.1-2.so.3
Another issue I do not understand is that ldd doesn't show the standard
c++ library linked in the working version of the library
ldd /usr/local/lib/libFOX-0.99.so.172
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4027a000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40286000)
libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0x4032a000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x40387000)
libz.so.1 => /usr/lib/libz.so.1 (0x4039c000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x403ab000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x403ca000)
libm.so.6 => /lib/libm.so.6 (0x403f4000)
libc.so.6 => /lib/libc.so.6 (0x40411000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40506000)
libdl.so.2 => /lib/libdl.so.2 (0x4051a000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x2aaaa000)
Again, any help to resolve this issue is appreciated.
Thanks,
Robert
--
Robert Schweikert MAY THE SOURCE BE WITH YOU
rjschwei@mindspring.com LINUX