[csw-maintainers] An idea for a shared libraries policy

Dagobert Michelsen dam at opencsw.org
Thu Oct 7 20:37:48 CEST 2010


Hi Joerg,

Am 07.10.2010 um 16:14 schrieb Joerg Schilling:
> Philip Brown <phil at bolthole.com> wrote:
>
>> On Wed, Oct 6, 2010 at 9:42 PM, Maciej (Matchek) Blizinski
>> <maciej at opencsw.org> wrote:
>>> (Phil wrote)
>>>> I think you might do well to go with my original theory, slightly  
>>>> expanded:
>>>>
>>>> Unless you find a shared object, of filename "lib*.so*", AND it  
>>>> has a
>>>> "SONAME", AND that name has a double-numeric rev  (eg:
>>>> libfoo.so.#.#), then you should just leave it alone.
>>>
>>> I understand and I agree with the first two criteria: It makes sense
>>> to separate the library out, if it is named lib*.so*, and has a
>>> SONAME.  I don't get the bit with the double-numeric versions.  What
>>> matters is the presence of SONAME, and the contents is a  
>>> conventional
>>> notation, why would any numbers matter?
>>>
>>
>> (I did explain this previously, but I'll repeat myself for this case)
>> It has been my experience that libraries with only a single digit
>> signifier in the SONAME, tend to respect backward compatibility, and
>> the value of a stable API.
>
> This is all outdated technology. library versioning is nowerdays  
> done via
> mapfiles. This allows even to link against an older lib at runtime  
> than you
> did at compile time iff the old lib supports the interfaces needed  
> by a
> specific program.
>
> Unfortunately, few OSS authors understand how to correctly deal with  
> library
> interface versioning.

This is very interesting. We have a long-standing issue about  
incompatible
API-changes to libnet:
   http://lists.opencsw.org/pipermail/maintainers/2009-March/007191.html
Could these maps help solve the issue?


Best regards

   -- Dago


More information about the maintainers mailing list