On Wed, 15 Dec 2010, Philip Martin wrote:
Martin Furter <m...@rola.ch> writes:
Doing some more testing I found another out that non-existing
libraries have to be removed from LD_PRELOAD.
Does this interact with --enable-runtime-module-search? That's the
switch that causes Subversion to load RA/FS modules at runtime rather
than linking them to the binary.
In the past it was difficult to run the regression tests with this
enabled because the runtime loader would pick installed modules ahead of
the ones in the build directory.
Yes, there is some interaction...
Everything works fine with my patch but without
--enable-runtime-module-search.
When I enable it I get the following:
$ subversion/svnadmin/svnadmin create foo
ld.so.1: svnadmin: fatal: relocation error: file
/usr/local/lib/libsvn_fs_fs-1.so.0: symbol svn_fs__path_change2_create:
referenced symbol not found
svnadmin: Failed to load module for FS type 'fsfs'
$
Making the installed libs inaccessible leads to the following error:
$ subversion/svnadmin/svnadmin create foo
ld.so.1: svnadmin: fatal: libsvn_fs_fs-1.so.0: open failed: No such file or
directory
svnadmin: Failed to load module for FS type 'fsfs'
$
Looking around I see that libsvn_fs_fs-1.so.0 has been built, and it is
also present in LD_PRELOAD in subversion/svnadmin/svnadmin. But the path
to it is not in LD_LIBRARY_PATH which is created by libtool.
If I add it to LD_LIBRARY_PATH it works fine:
$ subversion/svnadmin/svnadmin create foo
$
So I guess there's another patch needed to fix the LD_LIBRARY_PATH created
by libtool.
- Martin