Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
hi,
I am attempting to install intel 11.0 C++ compiler on fedora 8. But the following error appears:
"The following required for installation commands are missing: libstdc++.so.5 (library)"
I have downloaded and installed compat-libstdc++-33-3.2.3-62.x86_64.rpm which contains libstdc++.so.5; but still the problem persists.
You have to install the 32-bit version of compat-libstdc++ even on 64-bit architectures. From the Intel site:
Quote:
The requirement on 32-bit (IA-32) libraries is due to the compiler and various components being 32-bit applications, and dynamically linking to these libraries.
This is related to the following 32-bit libraries on Intel 64 architecture:
Thank you very much for your reply..
but I am very new to linux. So I cant exactly understand what to install.. Could you give me a link and file name in that link to be installed in my fedora.. Due to some network settings here, yum dont work here..
Exactly the same package, compat-libstdc++-33-3.2.3-62, but the 32-bit version. The other libraries listed are just for information, but they should already be installed. If you connect to any Fedora mirror, the path of the file to download is /releases/8/Everything/i386/os/Packages/compat-libstdc++-33-3.2.3-62.i386.rpm
Sir,
Thanks for your reply
I have downloaded and try to install compat-libstdc++-33-3.2.3-62.i386.rpm; but it says this particular package has already been installed. Then, I tried to install the intel compiler; I got the same error message in my first post
"The following required for installation commands are missing: libstdc++.so.5 (library)"
Plz help me in figure it out what might be wrong..
Well, the system complains about the already installed 64-bit version of the same package. At this point you can either un-install the 64-bit version (unless it satisfies other dependencies) or force the installation of the 32-bit version together with the 64-bit. To do this, just add the --force option to the rpm command, e.g.
Well, the system complains about the already installed 64-bit version of the same package. At this point you can either un-install the 64-bit version
I don't know at all how the packages work for 32-bit support on 64-bit Red Hat, so I can't give the right answer here.
But if you're considering removing the 64-bit version of the same package, you're also not on track to the right answer.
In Debian based distributions (such as Mepis, which I use) the key parts of 32-bit support on 64-bit systems comes in packages specific to that purpose, so a given library will exist in three different packages:
1) 64-bit version packaged for 64-bit systems.
2) 32-bit version packaged for 32-bit systems.
3) 32-bit version packaged for 64-bit systems.
I believe the two different 32-bit versions have the same binary libraries inside them and only look different to the package manager.
I would have thought the Red Hat method of multi-lib support would have less difference (than Debian) between 32-bit for 32-bit systems and 32-bit for 64-bit systems. But I don't know the details and if there were zero difference then mail2sud shouldn't have had the reported problems.
Quote:
Originally Posted by mail2sud
"The following required for installation commands are missing: libstdc++.so.5 (library)"
The two obvious questions from that message are:
Which versions of libstdc++.so are installed where on your system now?
Which packages include exactly the right version (.5) of that file?
On Debian, I could figure out the the right commands that answer each of those questions. On Red Hat, I'm sure someone else here can tell you.
But if you're considering removing the 64-bit version of the same package, you're also not on track to the right answer.
Since he installed the x86_64 package specifically to solve this issue, I think he does not damage anything by removing it (as last alternative). Anyway, there is something not clear. This is the reason I asked about the output of the suggested commands.
As reference, here is the output on a x86_64 machine running Fedora 8 and Intel Fortran installed:
The second command lists the provided files from both the 32-bit (in /usr/lib where the Intel installer will look for) and the 64-bit version (in /usr/lib64), since they are both installed on this system.
PS - I just checked and Fedora simply installs the 32-bit version provided by the 32-bit version of the OS, along with the 64-bit version, that is - following the scheme proposed by johnsfine:
1) 64-bit version packaged for 64-bit systems
2) 32-bit version packaged for 32-bit systems
Edit: regarding the error message, it means you have a lock which has not been removed from a previous rpm command. You can manually remove the file /var/lib/rpm/__db.000 but first check if some application still keeps the rpm database open:
Code:
lsof | grep /var/lib/rpm
If the command above does not show any line of output, then you can safely try to remove the file:
Don't worry. It looks like you don't have the lsof package installed (I thought it was installed by default).
Ok. Now let's go. Since you don't have the __db.000 file anymore, try the yum command again (as root, otherwise it complains you cannot install the package):
if you get the same error again, try to reboot the machine (if possible). This should take care of the __db.00* files and remove them gracefully. After reboot, don't login in the X system (since the X login may automatically start the software updater which recreates the database files and locks any other attempt to use the yum or the rpm command.
Go to a virtual console, instead, using Alt-Ctrl-F1. Login as root, go to the dierctory where the compat-libstdc++33 package is stored and try to install again.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.