Stefan Sperling writes:
> LD_LIBRARY_PATH in the Makefile is only used by targets that are supposed
> to run the executables compiled by the Makefile, and need to *dynamically*
> load some libraries at run time (e.g. bindings) via dlopen().
> This doesn't affect the checkout/export steps at all. They don't set or
> require any special LD_LIBRARY_PATH.
Very odd. When executing from the Makefile script, `svn` kept
complaining about APR not being compiled with threading support
(because it picked up the APR in ~/svn/prefix), but when I executed
the same command plainly from command-line, it worked fine.
> It sounds like you had LD_LIBRARY_PATH set in your environment.
> Why did you have it set? Maybe it's because the Linux runtime linker
> doesn't find the svn libraries installed in ~/svn/prefix otherwise?
> If so, that's not a problem with the Makefile.
> The binaries installed in your home dir should be linked with -rpath
> by libtool to make sure that they find their libraries in the right place.
> Then you won't have to set LD_LIBRARY_PATH at all if all you want to do
> is run an svn trunk binary. If there is anything to fix here, linking
> with -rpath is what you'd need to look at.
Hm, but I didn't have LD_LIBRARY_PATH set. That's what's odd. The
trunk svn works fine -- when I add ~/svn/prefix/svn-trunk/bin to
$PATH, `svn` picks up the right APR and just works.
Thanks for the help in diagnosing the problem -- I'll read a little
more about the Linux linker's behavior and try to find out what the
real problem is.
Received on 2011-01-09 11:06:13 CET