grauzone wrote:
Daniel Keep wrote:
I found a solution.

See
http://stackoverflow.com/questions/335928/linux-gcc-linking-ld-cannot-find-a-library-that-exists

For me, I needed readline and history, so I did this:

$ cd /lib
$ sudo ln -s libreadline.so.5 libreadline.so
$ sudo ln -s libhistory.so.5 libhistory.so

After that, ld didn't complain.

Interesting. On my system (Debian), the libreadline.so symlink is in a separate -dev package. Who knows why.

That's because those symlinks are only necessary when compiling. On linux, DLLs have actually three names:

- libfoo.so.x.y.z or libfoo-x.y.z.so where x.y.z is the full version number. This one is a real file; - libfoo.so.x or libfoo-x.so where x is the ABI version number. This is the name that will actually be stored into executables and therefore the name that is necessary to run the program. This is usually a symlink; - libfoo.so is used when linking programs. It is supposed to be a symlink that points to the latest installed version of the library.

Note that you can type "sudo ldconfig" to regenerate the missing symlinks.

                Jerome
--
mailto:[email protected]
http://jeberger.free.fr
Jabber: [email protected]

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to