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