[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Edlug Archive Feb 2006 ]

Re: [edlug] installing an older libstdc++ library

Anand & Catriona writes:
> On attempting to run the software, it complains that it cannot find
> libstdc++.so.5 . In fact /usr/lib/libstdc++.so.6 exists, which is a
> link to /usr/lib/libstdc++.so.6.0.5 . Is it reasonably staight forward
> to install the package for libstdc++.so.5 alongside the existing
> library? Is it worth creating /usr/lib/libstdc++.so.5 as a link to the
> current version 6 library?

Compiled programs identify the libraries they need in terms of a
"soname", like "libstdc++.so.5" or "libstdc++.so.6".  By definition,
libraries with different sonames don't provide the same interfaces -- if
they did, they should have the same soname.  So just linking (or
copying) libstdc++.so.6 to libstdc++.so.5 won't work.

However, Ubuntu doesn't have any objection to you having both libraries
installed simultaneously.  The package containing libstdc++.so.5 is
called libstdc++5 in Ubuntu (and in Debian).  So to install it, you can
run one of these:

  sudo apt-get install libstdc++5
  sudo aptitude install libstdc++5

or whatever you'd normally do to install a package by name.

Aaron Crane
You can find the EdLUG mailing list FAQ list at:

This archive is kept by wibble+RM@xxx.xxx.xxx