On 08/03/2016 13:18, Glen Barber wrote: > Regarding the .so files, I am not clear on the original intent behind > separating the actual shared library from the installed symbolic link to > the real shared library, but in my investigation into this, only the > symlinks are provided by the '-development' package.
Once compiled, a program will dynamically load a specific ABI version at
run time -- it needs to refer to a shared library filename including
some version numbers. However at compile time a program may be able to
link against various different ABI versions of a shlib, so long as the
API is still the same (and established APIs tend to change much more
slowly than ABIs). So end-users need the shared library name with all
the version numbers, but developers (generally) want the sym-link that
points at the locally preferred version of the shared library.
There's also considerations to do with being able to install a number of
different ABI versions of the same shared library simultaneously.
There's nothing intrinsic to shared library versioning to prevent this,
but having the sym-link in every shared library package would
automatically make the different ABI-version packages conflict with each
other.
Cheers,
Matthew
signature.asc
Description: OpenPGP digital signature
