Fireman54
asked on
libstdc++.so.5: cannot open shared object file: No such file or directory
Over the past 2 years I have had RHEL ES 3 as my operating system, and today on a leased server I got RHEL 4 instead. I'm getting the following error...
libstdc++.so.5: cannot open shared object file: No such file or directory.
I tried to locate this file but it's not on the server. The only thing that's there is
/usr/lib/libstdc++.so.6.0. 3
/usr/lib/libstdc++.so.6
/usr/lib/gcc/i386-redhat-l inux/3.4.3 /libstdc++ .so.
Is there a way to install a libstdc++.so.5 file without messing up the compiler I currently have that came with gcc 3.4.5 ? If so, what do I need to get and where can I get it ? Also, is it a big deal to install ?
Thanks,
Fireman54
libstdc++.so.5: cannot open shared object file: No such file or directory.
I tried to locate this file but it's not on the server. The only thing that's there is
/usr/lib/libstdc++.so.6.0.
/usr/lib/libstdc++.so.6
/usr/lib/gcc/i386-redhat-l
Is there a way to install a libstdc++.so.5 file without messing up the compiler I currently have that came with gcc 3.4.5 ? If so, what do I need to get and where can I get it ? Also, is it a big deal to install ?
Thanks,
Fireman54
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
You can simply copy /usr/lib/libstdc++.so.5.0. 6 (or whatever version it is) off a RHEL ES 3 system. Then rerun ldconfig.
Or if you're not root (and don't want to take a change messing up the system --
1) copy libstdc++.so.5 to someplace safe (like /tmp/lib)
do
LD_LIBRARY_PATH=/tmp/lib:$ LD_LIBRARY PATH application
see if it works first...then you might want to put it in a privaleged place
(or in ~/lib and just live with LD_LIBRARY_PATH).
1) copy libstdc++.so.5 to someplace safe (like /tmp/lib)
do
LD_LIBRARY_PATH=/tmp/lib:$
see if it works first...then you might want to put it in a privaleged place
(or in ~/lib and just live with LD_LIBRARY_PATH).
I've had 3 versions of libstdc++.so co-existing in my /usr/lib for years - so I think the chances of messing up your system are minimal.
But if you can't become root then leisner has an idea. Be sure to copy the one with the longest name, then make libstdc++.so.5 a symlink to it.
But if you can't become root then leisner has an idea. Be sure to copy the one with the longest name, then make libstdc++.so.5 a symlink to it.
ASKER
I ran... rpm -ivh compat-gcc-32-3.2.3-47.3.s rc.rpm and it appeared to install but libstdc++.so.5 is nowhere on the hardrive.
Please advise,
Fireman54
Please advise,
Fireman54
That is a source rpm. You would have to build it. So far you have installed the source ready for building. You might have to use rpmbuild or maybe rpm has an option to build nowadays - I don't know as I avoid rpm when I can. You already have my advice as to what I would be doing in your situation.
ASKER
Duncan, aren't you saying to install it in your earlier post? I do have root access. Should I not use a source rpm?
It's not clear to me what you said about "copy the one with the longest name, then make libstdc++.so.5 a symlink to it." The longest name?
Thanks,
It's not clear to me what you said about "copy the one with the longest name, then make libstdc++.so.5 a symlink to it." The longest name?
Thanks,
ASKER
Duncan,
Also, when I ran rpm -ivh compat-gcc-32-3.2.3-47.3.s rc.rpm it ran real fast gas guage, but it never created a directory for it, typically like a tar would.
Also, when I ran rpm -ivh compat-gcc-32-3.2.3-47.3.s
ASKER
Ravenpl,
I ran "up2date -i compat-libstdc++-33" and it worked perfectly.
Thank you,
Fireman54
I ran "up2date -i compat-libstdc++-33" and it worked perfectly.
Thank you,
Fireman54
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
However that is kind of a hack job, you could also find the older version rpm and try to install it (without removing the current libstdc++ rpm) which is the right way. If it gives you conflicts you can just unpack it somewhere and then copy libstdc++.so.5 to /usr/lib.