My dynamically-linked executable no longer works with gcc 3.3 branch
Scott Gilbertson
scottg@mantatest.com
Tue Feb 4 21:35:00 GMT 2003
> scott> static-linked binary runs OK, but the dynamic-linked one fails
like so:
> scott> ./mts5000.dbg.bin: /lib/libgcc_s.so.1: version `GCC_3.3' not
found
> scott> (required by /usr/lib/libgcj.so.4)
> scott> Any idea what's going on?
>
Andrew> You haven't put the new libgcc.so at the front of your
Andrew> LD_LIBRARY_PATH.
Thanks. Not precisely the case, since I avoid using LD_LIBRARY_PATH, but it
led me to the answer. The following files were in /lib:
- libgcc_s-3.2-20020903.so.1
- libgcc_s.so.1 (a symlink to the other file)
I deleted them, and my dynamically linked binary now works. Apparently the
original RedHat 3.2 RPM put files in /lib, whereas the new one is using
/usr/lib.
Andrew> Gosh, you're brave! That's going to overwrite your system
compiler...
Yes, I am. Of course I have the sources for several gcc versions sitting on
the machine so if I'm stuck I just have to bootstrap and install one of
those. I also have the RPMs for a pre-built compiler on the same disk. If
it ever comes to that, I guess I'll have to make sure I delete
/usr/lib/libgcc_s.so.1 (so far I've always been able to go forward on gcc
versions, rather than back).
More information about the Java
mailing list