cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Debian soname

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Mon, 3 Sep 2007 16:17:00 +0200 (CEST)

On Mon, 3 Sep 2007, Domenico Andreoli wrote:

> that from .3 to .4 has not been a soname transition mandated by changes in
> the ABI. what changed is the return value of a single function among all
> those exported by libcurl.

No, it was not just a changed return code. It was dropped support for various
options that libcurl previously supported.

ABI is the binary interface and the binary interface is a lot more than just
keeping the same symbol names present.

> every application built with one library will work also with the other.
> given that it checks the return codes, errors included, it gets on the way.

I have a very different opinion on this. Every application that uses
libcurl.so.3 that does FTP third party transfers no longer works with the
libcurl.so.3 that debian ships, even though the last libcurl.so.3 we released
in the curl project *does* work.

An application that is built to link with a given sonamed library should be
able to assume that the basic rules remain the same, that the ABI remains the
same. Sure, return codes may change somewhat and bugs that are fixed may even
alter the behavior a little at times but this is hardly a gray area we talk
about. This is a very visible and documented feature that was cut out and no
longer works. A very clear ABI breakage if you ask me.

> ah.. i forgot the versioned symbols. of course they are still all marked
> libcurl.3, since nothing from the linker POW is changed in the library.
> anyway this would be a debian "private" matter, it is the only one to
> provide them. probably it is also the only one to provide both openssl and
> gnutls variants.

Right, but linker wise nothing did change and it was no linker-related reason
to do the soname bump.

> that said, i really do not see any sort of real problem to be solved. if i
> am wrong, please elaborate further.

Since this is already in effect since a while back and since nobody seems to
have been hit in the face (at least to our knowledge) then I guess we can say
it didn't matter much this time.

But it still was an ABI breakage...

-- 
  Commercial curl and libcurl Technical Support: http://haxx.se/curl.html
Received on 2007-09-03