Why shared libraries end with 1.0

Hi. I would like to ask why the names of shared libraries end with "1.0". For example in "libcmath.so.1.0". It seems very confusing and unnecessary.

In this tutorial [http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html] the author even made ".so" and ".so.1" symlinks with the ".so.1.0".

ln -sf /opt/lib/libctest.so.1.0 /opt/lib/libctest.so
ln -sf /opt/lib/libctest.so.1.0 /opt/lib/libctest.so.1
To identify which version of the library it is.
I agree that it is a very confusing convention, and you're only going to see it used by *nix folks. I'd sooner put the version information in another position in the file-name other than the end where the *extension (suffix)* should go...
Last edited on
Having the version information in the filename and using a symbolic link to the version of choice (usually the latest one) does make it very easy to have multiple versions of the same dynamic library operating at once. Most of the time you wouldn't want to, but when you need to, you can; "dll hell" isn't named that just because it rhymes.
Last edited on
Topic archived. No new replies allowed.