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

Re: svn commit: r38377 - trunk/build/ac-macros

From: Stefan Sperling <stsp_at_elego.de>
Date: Thu, 9 Jul 2009 12:24:26 +0100

On Thu, Jul 09, 2009 at 09:27:31AM +0100, Julian Foad wrote:
> Arfrever Frehtes Taifersar Arahesis wrote:
> > Author: arfrever
> > Date: Wed Jul 8 18:17:57 2009
> > New Revision: 38377
> >
> > Log:
> > Filter out redundant library directories (e.g. /usr/lib) to avoid linking
> > against Subversion libraries potentially placed in these directories.
> >
> > * build/ac-macros/svn-macros.m4
> > (SVN_REMOVE_REDUNDANT_LIB_DIRS): New.
> [...]
>
> Hi Arfrever.
>
> I'm sure this is a useful change but I'd like to understand what it is
> for.

I guess it is for solving a problem myself and Arfrever found yesterday.
(But I can't know for sure because Arfrever isn't telling ;)

-- The problem as I saw it:
Bert had added a new function to libsvn_wc, and for some reason
that function could not be found when linking
subversion/tests/libsvn_client/client-test.

-- The cause as far as I can guess without digging through piles
   of build and configure script logs:
The library which failed to link was libsvn_client.
The symbols it calls from libsvn_wc caused libsvn_wc to be pulled
in as a dependency. But because libsvn_wc was not explicitly listed
as a library dependency of client-test (since it is an indirect
dependency: client-test -> libsvn_client -> libsvn_wc), *any*
libsvn_wc-1.so would make the linker happy. And we have the system's
standard library directories mentioned *explicitly* on the linker
command line. So the libsvn_wc-1.so from the /usr/lib directory ended
up being used. Which, on my system, came from the debian package for
Subversion 1.5.1 which I didn't even remember I had installed.

-- Summary:
So the problem we're trying to avoid is linking to shared libsvn_*
libraries which are installed in the system's standard library
search path when the libsvn_* libraries from the working copy
should be used instead.

Arfrever's change does indeed fix this problem for me.
In the past I often used to vocally blame all such problems on libtool,
but it seems that there was a fix we could make :)

> Please can you tell me, in a few more words, what problem you are
> solving, and what you mean by "redundant".

"Redundant" is just poor choice of wording.
I think it should say "system" instead.
Arfrever, can you change this?

Stefan
Received on 2009-07-09 13:24:52 CEST

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