m...@linux.it (Marco d'Itri) writes:

> On Feb 05, Simon Josefsson <si...@josefsson.org> wrote:
>
>> > The problem is that this is not enough to make the built binaries work
>> > on stable again[1] because upstream gratuitously broke the ABI in 1.13
>> > by versioning the symbols and now it is too late to revert the change.
>> The symbols are the same, so the ABI should be both forward and
>> backwards compatible.  See my discussion about a similar issue in:
> They are not the same, since the old ones are unversioned.

Resolving the symbol 'foo' works the same, doesn't it?

See my walk-through in
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=542512#45

> I know well that "it's just a warning", but the warning means that
> distributions now must treat this as an ABI change and binaries built
> with new new library must depend on it.

Yes, that is required but it is not due to an ABI change in the library
as far as I can see.  I believe the issue is with the binary linked to
the library, not in the library.

The reason this becomes problematic is because the warning is printed to
stdout/stderr.

> Since having programs spewing warnings on startup is bad and will
> often also break things (think e.g. a daemon run by inetd), for all
> practical purposes you effectively broke the ABI (and without any
> benefit even!).

It is not the library that prints the warning -- it is the dynamic
linker.  In a way, the ABI that an application expects is broken by the
dynamic linker, not by the library.

Maybe we could bring this up with the maintainer of the code that prints
the warning?

>> > I suppose that there is some way to generate both versioned and
>> > unversioned symbols with appropriate linker magic, but I have not been
>> > able to do it.
>> That happens by default.  Tools linked with versioned libraries will get
> It does not

How so?  I believe my #45 messages demonstrates that a versioned library
exports the unversioned symbols too.  But I may be missing something.

> or we could link programs and libraries with unversioned symbols and
> forget about versioned symbols until they will actually be needed.

We could, if the dynamic linker didn't warn about this.

>> a warning with (dynamically) linked to un-versioned libraries, though,
>> but that is not really an ABI issue as far as I can tell.  It is a
>> problem in the binary that is linked to libgsasl.
> This happens with everything, not only libraries.

Sure, but it matters where things are fixed: if the problem is not in
the library, the fix belongs in the applications.  They need to depend
on a newer version of the library.

/Simon



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to