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