[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shared library versioning




It's a single headache for the one library developer/packager, as
opposed to headaches for _every user_ of the library.
Yes indeed, but it's still a headache for one person ;).

You might want to have a look at the debian-mentors archives, too. I believe
this sort of thing gets discussed there on occasion, in more detail that I've
done.
I will take a look into debian-mentors, but I've just talked to the upstream author and can now explain the reason of his choice.

The thing is that the library is written in C++ and makes heavily use of templates which means that even a small change in the code, that doesn't change the ABI, might lead to incompatibility. We therefore checked the existant libraries coded in C++, using templates and present in the debian distribution. We only used two examples, libginac and libboost-python. We looked both of the shared libraries present : libginac-1.3.so.0.0.0 with SONAME libginac-1.3.so.0 : the version is contained in the SONAME which means that if a program is linked against libginac-1.3 and only libginac-1.4 is present on the system, it will fail. Same goes for libboost-python : libboost_python-gcc-mt-1_32.so.1.32.0 with SONAME libboost_python-gcc-mt-1_32.so.1.32.0



Reply to: