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

Dagobert Michelsen dam at opencsw.org
Sun Oct 10 12:56:02 CEST 2010


Hi Jörg,

Am 08.10.2010 um 11:53 schrieb Joerg Schilling:
> Dagobert Michelsen <dam at opencsw.org> wrote:
>
>>> 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?
>
> This thread unfortunately does not mention what problem exists.

There are two incompatible versions of libnet.so, both with a SONAME of
libnet.so. So when the newly compiled binaries link against -lnet they
will always get the old one. Additionally, the old library can not be
replaced/moved without breaking compatibility with the ton of legacy
packages compiled against the old (=existing) version of libnet.so

> If someone really a function in a way that is not compatible with  
> previous
> versions, you are lost and the only way to deal with the problem is  
> to have
> multiple libs with multiple names.

...and exactly this is difficult.

> What you can do with versioned symbols is to flag that there is a  
> version
> 1.5 foo() but no version 1.2 foo().

Ah, ok.


Best regads

   -- Dago


More information about the maintainers mailing list