On Saturday 10 April 2010 09:54:31 Kjow wrote:
> Too often things are taken for granted by experts.
> Too often things are too cryptic and not enough explained.
> 
Well I pointed to 
http://www.linux.org/docs/ldp/howto/Program-Library-HOWTO/shared-libraries.html
that documents which file links should be present
Using the same example from that article.

/usr/lib/libreadline.so.3.0 : 
The real file, it is not a link. Having only this file present, will 
not allow this library to be used, not by a compiled program, nor a by
a linker looking for that library.

/usr/lib/libreadline.so.3:
Fully-qualified soname. Link to above real file. 
This is the one that the deployed application 
will look for when being executed. 

/usr/lib/libreadline.so:
Link to above real file. This is the one the linker
will search for.  

I am on a rpm based distro now, so will explain with rpm, 
it is similar for debian.

rpm -qlp libreadline6-6.0-2mdv2010.0.i586.rpm
shows that it only contains
        /lib/libhistory.so.6
        /lib/libhistory.so.6.0
# ls -l /lib/libreadline*
lrwxrwxrwx 1 root root     18 2009-11-03 20:31 /lib/libreadline.so.6 -> 
libreadline.so.6.0*
-rwxr-xr-x 1 root root 230456 2009-06-28 21:19 /lib/libreadline.so.6.0*
So this rpm contains the real filename and the so-name file, a link to the real 
file.
Installing this package allows to run applications that need this library.

There is also a rpm called libreadline-devel, with a description:
"Files for developing programs that use the readline library​"
after installing this one, you will have:
# ls -l /lib/libreadline*
lrwxrwxrwx 1 root root     16 2010-04-10 22:07 /lib/libreadline.so -> 
libreadline.so.6*
lrwxrwxrwx 1 root root     18 2009-11-03 20:31 /lib/libreadline.so.6 -> 
libreadline.so.6.0*
-rwxr-xr-x 1 root root 230456 2009-06-28 21:19 /lib/libreadline.so.6.0*
So it added the .so file, that is a link to the real filename. This is the one 
that is
used by the linker (so for development). This package installs also other 
things (headers,static lib,...)

Above should have been clear after reading the provided url, I hope it is less 
cryptic now. 
So if you are in a situation that you miss a .so and only have a .so.6, you
should not start renaming things, but just add file links or install the devel 
package for that library.

kind regards,

Den Jean



--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to