The soname for libgnat and libgnarl are currently libgnat-4.0.so and libgnarl-4.0.so, respectively. Starting with 4.1, I suggest using a naming scheme that is more in line with Unix tradition and standards, i.e. libgnat.so.4.1 and libgnarl.so.4.1. The minor version number should be part of the file name, but not of the soname, e.g. libgnat.so.4.1.1, libgnarl.so.4.1.1 (when 4.1.1 is released). On an installed system, we would thus have: /usr/lib/libgnat.so.4.1.0 (the shared library) /usr/lib/libgnat.so.4.1 -> libgnat.so.4.1.0 (symlink used at run time) /usr/lib/libgnat.so -> libgnat.so.4.1.0 (symlink used at link time) -- Ludovic Brenta.
Theoretically, the major version number of the soname should change only if there is an ABI change. However, if GNAT changes the ABI with every x.y release it is okay (IMHO) if the soname is libgnat.so.4.1 and not just libgnat.so.4. Also, this "standard" naming is already used by libgcc_s and, I think, libstdc++. -- Ludovic Brenta.
Confirmed. But as it really changes for each release it doesn't really matter.