cURL / Mailing Lists / curl-library / Single Mail


Re: Obsolete error codes / Debian soname

From: Richard Atterer <>
Date: Tue, 28 Aug 2007 14:22:23 +0200


On Tue, Aug 28, 2007 at 01:02:03PM +0200, Daniel Stenberg wrote:
> I makes much more sense to try to have the same "file not found" (as an
> example) returned no matter what protocol that were used, as applications
> will be much easier to write with multiple protocol support then.

BTW, while you're at it: IMHO it would also be nice to assign the error
numbers to certain ranges similar to the HTTP protocol's 4xx, 5xx etc.
ranges. In fact, "file not found" could be mapped to code 404.

>> minor compatibility burp, and many programs would still continue to
>> operate just fine expecting the old error codes even if they weren't
>> recompiled (which they are forced to do by the SONAME change, except when
>> distros (like Debian) just symlink the old name to the new).
> I know this may come of sound odd, but they deserve a slap in the face for
> blatantly ignoring our soname bump anyway.
> A small recap for the casual readers: the Debian guys clearly know better
> than us about when an soname bump is required for libcurl and they deemed
> our latest one not necessary so they simply install the latest libcurl as
> soname 3 and symlink 4 to 3, thus breaking older apps relying on the
> previous ABI...

I'm also a Debian developer, though not involved in libcurl maintenance...

That symlink solution was chosen at the time to resolve a huge "deadlock"
of complex package interdependencies which prevented hundreds of packages
from moving from Debian "unstable" to "testing".

I'm not sure I've correctly understood all the details, but my impression
is that it might be possible to improve the situation now that the above
package transition has taken place. However, because of the large number of
packages which depend on libcurl, updating it to a new soname is not easy.
In general, Debian does aim to keep binary compatibility with upstream
library releases. Maybe Domenico (the package maintainer) can comment on



  __   _
  |_) /|  Richard Atterer     |  GnuPG key: 888354F7
  | \/|  |  08A9 7B7D 3D13 3EF2 3D25  D157 79E6 F6DC 8883 54F7
Received on 2007-08-29