"Erik Huelsmann" <ehuels@gmail.com> writes:
> On 5/27/06, David James <djames@collab.net> wrote:
>> On 5/27/06, Erik Huelsmann <ehuels@gmail.com> wrote:
>> > Trying to set up a buildbot slave on my system, I had failing tests
>> > (ra-local-test and svnsync_tests.py).
>> >
>> > The problem looked like the system was linking to the wrong dynamic libs.
>> >
>> > Knowing Debian libtool can cause problems like that when testing
>> > non-installed libs, I changed libtool to vanilla 1.5.22 (and later
>> > also to 1.5.20). This didn't solve my test problems.
>>
>> I had a similar problem building Subversion on Ubuntu. I couldn't
>> build trunk Subversion because libtool linked to the wrong libs.
>> Installing a vanilla version of libtool fixed the problem. But that's
>> just me -- every system is different. Did you remember to re-run
>> autogen.sh && ./configure ?
Libtool in Debian (and Ubuntu?) is patched to reduce indirect
dependencies, but this introduces other problems see
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=320698
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=291641
However this usually causes a failed link, not the testsuite failure
reported here. Are you seeing some other problem? Perhaps you are
configuring Subversion with --enable-dso? That certainly makes it
hard to run the test suite since Subversion's DSO code tries to load
the dynamic ra/fs modules from the installed directory.
> Yup. I'm using a buildbot config to test it: make extraclean &&
> autogen && configure && make.
>
>> > [..]
>> > path = subversion/svnsync
>> > -libs = libsvn_ra libsvn_delta libsvn_subr apr
>> > +libs = libsvn_subr libsvn_delta libsvn_ra apr
>> > install = bin
>>
>> I don't completely understand what you're doing, but it looks like
>> you're reordering the dependencies so that the build system will build
>> them in the correct order. If you have to do this, it's likely because
>> we've forgotten to list some essential dependencies somewhere else in
>> the build system.
>
> Reordering, yes.
I'm not really an expert on the build.conf stuff, but I think that
affects the order of the libraries on the svnsync link line. I don't
think it affects the build order since libsvn_ra and libsvn_delta both
already depend on libsvn_subr. Can you say why that fixes your
problem? Does it alter the NEEDED or RPATH in the svnsync binary?
Using 'objdump -x cmd' or 'LD_DEBUG=libs cmd' might help to see whats
happening.
>> In your case, it looks like patching libsvn_ra to depend on
>> libsvn_delta will fix your problem. I figured this out by looking at
>> libsvn_ra-1.la, and noticing that it contains a reference to
>> libsvn_delta, but then also noticing that libsvn_ra does not depend on
>> libsvn_delta in build.conf.
When --enable-dso is used libsvn_ra has no static dependency on
libsvn_delta, that's why SVN_RA_LIB_LINK is used as it allows the
Makefile to add the dependency.
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun May 28 00:42:26 2006