[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] libsvn SONAMEs and APR

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2006-04-07 17:08:57 CEST

"Justin Erenkrantz" <justin@erenkrantz.com> writes:

> On 4/6/06, Philip Martin <philip@codematters.co.uk> wrote:
>> How may people used APR 1.0+ before Apache 2.2? Debian packages a lot
>> of software and APR 1.0+ only became an issue when Apache 2.2 was
>> released.
>
> As I said back in 2004, apache.org was using APR 1.0. I haven't used
> Apache 2.0.x/APR 0.9 with Subversion in years. (APR 0.9 never handled
> LFS.)

As I understand it, the reason APR 0.9 doesn't have LFS is that it
would be an ABI change. I find it odd that the same ABI change is
perfectly acceptable in Subversion.

>> Really? I know there is a problem if the application explicitly links
>> to the other libraries, but if it avoids that and links just to libsvn
>> then I thought the other libraries were not part of the ABI.
>
> Debian purposely disables libtool's implicit linking features - but,
> in all releases we've ever shipped, our distributed GNU libtool's will
> end up implicitly linking to all dependent libraries.

I don't understand why that matters, a third party object using the
Subversion ABI won't usually use Subversion's libtool. I accept that
if such an object is linked explicitly with libapr as well as libsvn
then changing the SONAME won't solve the problem, but for the objects
that are not linked explicitly against libapr the SONAME is a
solution.

>> APR is
>> different because it's types appear explicitly in the Subversion API.
>
> APR and APR-util at a minimum must be there - other libraries might
> need to be encoded depending upon on the platform's inter-library
> linkage rules.
>
> With APR's binary compatibility rules now in effect - a binary linking
> against SVN compiled against APR 1.2 should work with APR 1.3 but not
> 1.1. Note that there's no requirement for APR and APR-util to be at
> the same version. I'm not quite sure that SONAME is expressive enough
> to honor these rules. I have a feeling that any SONAME solution will
> end up either working only with 1.2 or with all 1.x series. Neither
> of which is correct (one is too liberal, one is too restrictive).

Is that sufficient reason to do nothing? Changing the SONAME might
not be a perfect solution, but it handles the common case of
http-2.0/apr-0.9 and http-2.2/apr-1.2.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Apr 7 17:09:36 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.