[gnutls-dev] Re: Symbol versioning in gnutls 1.5.x

Simon Josefsson jas at extundo.com
Mon Sep 25 21:13:49 CEST 2006


Andreas Metzler <ametzler at downhill.at.eu.org> writes:

> On 2006-09-25 Simon Josefsson <jas at extundo.com> wrote:
>> Andreas Metzler <ametzler at downhill.at.eu.org> writes:
> [...]
>> > i.e. gnutls 1.5 uses a different soname than gnutls 1.4.x but the
>> > symbols are still versioned with GNUTLS_1_3.
> [...]
>> There appear to have been no external API/ABI changes between 1.4.x
>> and 1.5.x.  Thus, bumping the shared library version was probably a
>> mistake.  Does anyone see any value in bumping it anyway?  I
>> incremented to avoid having old binaries built against 1.4
>> automatically linking to 1.5, but now when I think about it, I see no
>> reason to do this.  I think I should revert it back, so that GnuTLS
>> 1.5.x also uses libgnutls.so.13.
>
> Both ways to fix the issue (decrement soname or bump symbol versioning)
> will break binaries linking against 1.5. Reverting the unnecessary
> soname bump seems to be the better alternative.

Ok, I'm doing this now.  To avoid colliding with gnutls 1.4.x (that
use shared library version 13.0.x -- also, most likely there will
never be any ABI changes in 1.4.x and thus no so version 13.1.x from
that branch), I bumped the so version for gnutls 1.5.2 to 13.1.0.

I glanced through Drepper's howto on writing DSO's again, but it isn't
really clear to me whether we are doing the right thing here.  The
situation is a bit more complex when you want to avoid collisions
between two current branches of the same library too.  It is also not
clear how things work on non-GNU/Linux platforms without GNU ld.so.

More information or better ideas on how things should work are most
welcome...

Thanks,
Simon



More information about the Gnutls-dev mailing list