On Wed, 15 Dec 2010, Philip Martin wrote:
> Martin Furter <mf_at_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
Received on 2010-12-16 11:02:22 CET