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

Re: inclusion of r8098 into 1.0

From: Greg Hudson <ghudson_at_MIT.EDU>
Date: 2004-01-08 15:55:36 CET

On Thu, 2004-01-08 at 05:03, brane@xbc.nu wrote:
> > From Ben Reser: don't use the .so link when loading RA libraries,
> > because .so links are only supposed to be necessary for development.
> > Instead use the .so.0 link (APR versioning requires the number
> > following .so to be 0).
>
>
> 1) What does this do to portability? Is the whole dymnamic RA
> loading thing limited to ELF systems, or to Linux systems,
> or what? I know it never worked on Windows, and we never
> promised it did. But what about Mac OS X or HP-UX? I'm
> 99% certain it won't work there.

On OSX, the shared libraries are apparently installed as:

  libsvn_subr-1.0.0.0.dylib*
  libsvn_subr-1.0.dylib -> libsvn_subr-1.0.0.0.dylib*

which means dynamic loading won't work with or without the patch.

I don't know about HPUX. How are shared libraries installed there?

> 2) "APR versioning requires the number following .so to be 0"?
> The svn libraries don't follow the APR version numbers, and
> we have a different ABI version (ours is 1, not 0).

I'm talking about the rules in <http://apr.apache.org/versioning.html>,
not the version numbers of the APR libraries themselves. In this
scheme, the library's major number is included in the library name,
while the major number in the libtool version info is always set to 0.
(This is to allow deliberate linking against a particular major version
of the libraries.)

> In short, I don't understand how this change affects portability, our
> dependencies on the APR version, etc. I also don't know how often this
> feature is used at all, and how often it's tested.

It's used when you build with --enable-dso, which causes
SVN_LIBSVN_CLIENT_LINKS_RA_{DAV,SVN,LOCAL} to become undefined, so that
the entries in the ra_libraries table become NULL. In turn,
svn_ra_get_ra_library() loads the appropriate module.

I think the answer to your question is: because APR does not provide
enough DSO machinery, the feature is currently only portable to ELF
systems. But it's possible that it worked on HPUX before and doesn't
now, in which case we have to make a decision between working correctly
on ELF systems and working at all on HPUX.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jan 8 15:56:18 2004

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