Skip to content

Use -release instead of -version-info for internal library SONAMEs

Ondřej Surý requested to merge 2387-use--release-for-SONAME-v9.16 into v9_16

The BIND 9 libraries are considered to be internal only and hence the API and ABI changes a lot. Keeping track of the API/ABI changes takes time and it's a complicated matter as the safest way to make everything stable would be to bump any library in the dependency chain as in theory if libns links with libdns, and a binary links with both, and we bump the libdns SOVERSION, but not the libns SOVERSION, the old libns might be loaded by binary pulling old libdns together with new libdns loaded by the binary. The situation gets even more complicated with loading the plugins that have been compiled with few versions old BIND 9 libraries and then dynamically loaded into the named.

We are picking the safest option possible and usable for internal libraries - instead of using -version-info that has only a weak link to BIND 9 version number, we are using -release libtool option that will embed the corresponding BIND 9 version number into the library name.

That means that instead of libisc.so.1608 (as an example) the library will now be named libisc-9.16.10.so.

Closes #2387 (closed)

Edited by Michał Kępień

Merge request reports