Tuesday, September 18, 2007

Missing libstdc++.so.5 on FedoraCore 7

While installing the latest Firefox and Java 6 on a newly installed
Fedora Core 7 box, I encountered the following error, here is the
one received while unpacking the Java EE 5 SDK Update 3 for Linux,

# ./java_ee_sdk-5_03-linux.bin
./java_ee_sdk-5_03-linux.bin: error while loading shared libraries:
libstdc++.so.5: cannot open shared object file: No such file or directory
#
Looking a little deeper into the GCC coming with the FC7,

# file /usr/bin/gcc
/usr/bin/gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
#

And now with the Java binary,

# file java_ee_sdk-5_03-linux.bin
java_ee_sdk-5_03-linux.bin: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not
stripped
#
It looks like the Java file was compiled with an older GCC.
Let's see what C/C++ library FC7 provides:
# ls /usr/lib/libstdc*
4 /usr/lib/libstdc++.so.6@ 924 /usr/lib/libstdc++.so.6.0.8*
#
By running a yum search, we found that there is a compatibility
library available for the older GCC:
# yum search libstdc++
Loading "installonlyn" plugin


compat-libstdc++-33.i386 3.2.3-61 fedora
Matched from:
compat-libstdc++-33
The compat-libstdc++ package contains compatibility standard C++ library
from GCC 3.3.4.

...
#
Let's install it,
# yum install compat-libstdc++-33
...
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
compat-libstdc++-33 i386 3.2.3-61 fedora 232 k

...
...
Running Transaction
Installing: compat-libstdc++-33 ######################### [1/1]

Installed: compat-libstdc++-33.i386 0:3.2.3-61
Complete!
#

Now the missing library can be seen on the system,

# ls /usr/lib/libstdc*
0 /usr/lib/libstdc++.so.5@ 4 /usr/lib/libstdc++.so.6@
724 /usr/lib/libstdc++.so.5.0.7* 924 /usr/lib/libstdc++.so.6.0.8*
#
And next to run the Java install and Firefox again, both programs worked.

No comments: