Erik Hülsmann <e.huelsmann@gmx.net> writes:
> I'm using:
> - RedHat Linux 8.0.
> - libtool --version reports:
> ltmain.sh (GNU libtool) 1.4.2 (1.922.2.54 2001/09/11 03:33:37)
I think I have used 1.4.2 in the past with no problems, but I don't have the
exact version string. I'm using 1.4.3 at the moment.
>>Which libraries are wrongly located?
>
> These libraries where wronly located in lt-svnversion:
> libsvn_ra_svn-1.so.0 => /usr/local/lib/libsvn_ra_svn-1.so.0
> libsvn_delta-1.so.0 => /usr/local/lib/libsvn_delta-1.so.0
> libsvn_diff-1.so.0 => /usr/local/lib/libsvn_diff-1.so.0
> libsvn_subr-1.so.0 => /usr/local/lib/libsvn_subr-1.so.0
[snip]
> Which results in the following gcc command:
> gcc -O2 -pipe -pthread -DNEON_ZLIB -DNEON_SSL -o .libs/svnversion main.o ../../subversion/libsvn_client/.libs/libsvn_client-1.so /home/erik/svn/subversion/libsvn_wc/.libs/libsvn_wc-1.so /home/erik/svn/subversion/libsvn_ra/.libs/libsvn_ra-1.so /home/erik/svn/subversion/libsvn_ra_local/.libs/libsvn_ra_local-1.so /home/erik/svn/subversion/libsvn_repos/.libs/libsvn_repos-1.so /home/erik/svn/subversion/libsvn_fs/.libs/libsvn_fs-1.so -ldb /home/erik/svn/subversion/libsvn_ra_dav/.libs/libsvn_ra_dav-1.so /home/erik/svn/neon/src/.libs/libneon.so -L/usr/local/lib -lssl -lcrypto /usr/local/lib/libxml2.so /home/erik/svn/subversion/libsvn_ra_svn/.libs/libsvn_ra_svn-1.so /home/erik/svn/subversion/libsvn_delta/.libs/libsvn_delta-1.so /home/erik/svn/subversion/libsvn_diff/.libs/libsvn_diff-1.so /home/erik/svn/subversion/libsvn_subr/.libs/libsvn_subr-1.so /home/erik/svn/apr-util/.libs/libaprutil-0.so /usr/lib/libgdbm.so /usr/lib/libdb-4.0.so /usr/lib/libexpat.so /home/erik/svn/apr/.libs/libapr-0.so -lrt -lm -lcrypt -lnsl
-ldl -lz -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/apr/lib
The link command explicitly mentions the build tree versions of all
the libraries that are wrongly located, I would expect it to work. I
don't know why it doesn't, perhaps some sort of RPATH problem. You
can see the RPATH by using things like
objdump -x subversion/libsvn_client/.libs/libsvn_client-1.so | grep RPATH
objdump -x subversion/svnversion/.libs/lt-svnversion | grep RPATH
[snip]
> After running the make command *all* libraries point to /usr/local and
> the contents of the .libs directory is empty.
Huh? Which .libs is empty?
> When I have run
> make check CLEANUP=1 TESTS=subversion/tests/clients/cmdline/svnversion_tests.py
>
> the .libs directories is not empty anymore and the ldd command says
> that libraries are linked agains the versions in my build tree
> again.
I'm confused--do you mean that all the libraries are found in the
build tree? Has the problem been solved?
> I tried to find where this happens, but I didn't find any
> call to libtool to relocate links or so...
>
> Do you know where I can find the relocation call where libtool is
> instructed to use other libraries?!
That's how libtool works. When svnversion is linked an executable is
created at subversion/svnversion/.libs/svnversion and a shell script
is created at subversion/svnversion/svnversion. When the shell script
is run it creates subversion/svnversion/.libs/lt-svnversion. This new
executable, lt-svnversion, should be linked to libraries in the build
tree.
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 8 17:40:08 2003