Reputation: 55726
I recently read a lot about shared libraries on Linux, and here is what I learnt:
soname
including its major version number. Something like: libfoo.so.1
libfoo.so.1.0
/usr/local/lib
, if ldconfig
is run, it will read the soname
and create a symlink named libfoo.so.1
pointing to libfoo.so.1.0
.libfoo.so
pointing to libfoo.so.1.0
. This is usually done by the development package (when the library is packaged).Is this correct ?
Upvotes: 15
Views: 5463
Reputation: 104020
Suggested reading:
Ulrich Drepper's How to write shared libraries: http://www.akkadia.org/drepper/dsohowto.pdf
Ulrich Drepper's Good Practices in library design, implementation, and maintenance: http://www.akkadia.org/drepper/goodpractice.pdf
dsohowto is much more detailed. goodpractice is a quick read.
Upvotes: 25