On Tue, Sep 15, 2009 at 03:00:36PM -0500, Paul Hammant wrote:
> >
> > OK, one last question if I may:
> >
> > Are you sure that the svn binary you've built is using the correct
> > libsvn_* libraries? If it happens to load the old ones, which can
> > happen on Linux where shared lib dependencies are resolved at runtime,
> > depending on your configuration, then it could be calling into a wrong
> > shared library which does not have the fix applied.
> >
>
> No, I'm not sure that's the case. I'm a Java guy mostly, and an
> infrequent visitor to configure/make/gcc. Doing a "svn --version" was
> yielding plausible version numbers [1.6.6 (dev), 1.6.5(38xxx) and
> alike ]. How could I tell that transitive deps were right or wrong ?
>
> We're Fedora core 10, and yum installed the non-svn deps like
> libtool. It is true that Svn was already in the path at build time,
> but nothing the flew past in configure or make looked to be pointing
> to prior items.
>
> We still have the 1.6.5+2patch, and the 1.6.x-r38000 checkouts and can
> build again. How can we be 100% sure that we're not dragging in
> inappropriate deps ?
You can use ldd to see which libraries your svn binary is using.
It should only use libsvn_* libraries from the --prefix you specified
to the configure script when building Subversion.
If it is using any libraries e.g from /usr/lib and you did not pass
--prefix=/usr/lib, you likely have this problem. Since all your libraries
are 1.6.x versions, Subversion will run just fine; the ABI does not change
at all within a single release line. But your svn 1.6.6 will behave like
e.g. 1.6.5 in some places.
You can adjust the run-time search path for shared libraries as well
by tweaking the LD_LIBRARY_PATH environment variable. See the man page
of ld.so for details: man ld.so
This way you may be able to enforce use of the correct set of shared
libraries without having to recompile:
export LD_LIBRARY_PATH=/my/svn/prefix/lib:$LD_LIBRARY_PATH
E.g. below is is what ldd prints for my trunk build and for a 1.6.5
binary installed in /usr/local. Note that the libsvn_* libraries
do not (and should not) overlap between the two:
$ ldd `which svn`
/home/stsp/svn/prefix/svn-trunk/bin/svn:
Start End Type Open Ref GrpRef Name
1c000000 3c017000 exe 1 0 0 /home/stsp/svn/prefix/svn-trunk/bin/svn
06c71000 26c78000 rlib 0 1 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_client-1.so.0.0
0508f000 2509b000 rlib 0 2 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_wc-1.so.0.0
061b5000 261b9000 rlib 0 2 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_ra-1.so.0.0
0b94d000 2b956000 rlib 0 3 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_ra_serf-1.so.0.0
0f034000 2f038000 rlib 0 4 0 /home/stsp/svn/prefix/serf/lib/libserf-0.so.0.0
08317000 28320000 rlib 0 3 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_ra_neon-1.so.0.0
06650000 26655000 rlib 0 3 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_ra_svn-1.so.0.0
093c2000 293c6000 rlib 0 3 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_ra_local-1.so.0.0
0249a000 224a6000 rlib 0 4 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_repos-1.so.0.0
04f4a000 24f4e000 rlib 0 5 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_fs-1.so.0.0
069d2000 269da000 rlib 0 6 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_fs_base-1.so.0.0
08d08000 28d26000 rlib 0 9 0 /home/stsp/svn/prefix/bdb/lib/libdb-4.7.so
03159000 23160000 rlib 0 6 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_fs_fs-1.so.0.0
008da000 208de000 rlib 0 8 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_fs_util-1.so.0.0
04d2d000 24d32000 rlib 0 12 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_delta-1.so.0.0
03be3000 23be7000 rlib 0 3 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_diff-1.so.0.0
084a5000 284b7000 rlib 0 15 0 /home/stsp/svn/prefix/svn-trunk/lib/libsvn_subr-1.so.0.0
02f64000 22f71000 rlib 0 16 0 /home/stsp/svn/prefix/sqlite/lib/libsqlite3.so.8.6
0c3fe000 2c403000 rlib 0 17 0 /home/stsp/svn/prefix/apr/lib/libaprutil-1.so.3.9
01dc4000 21dcb000 rlib 0 18 0 /home/stsp/svn/prefix/apr/lib/libapriconv-1.so.2.1
0413f000 24144000 rlib 0 18 0 /home/stsp/svn/prefix/apr/lib/libapr-1.so.3.8
006d9000 206e0000 rlib 0 4 0 /home/stsp/svn/prefix/neon/lib/libneon.so.28.4
024ff000 2250c000 rlib 0 7 0 /usr/lib/libssl.so.15.0
01cdb000 21d1b000 rlib 0 7 0 /usr/lib/libcrypto.so.18.0
09e3e000 29e46000 rlib 0 18 0 /usr/lib/libz.so.4.1
0e3ee000 2e3f7000 rlib 0 19 0 /usr/lib/libexpat.so.9.0
04d89000 24dc2000 rlib 0 1 0 /usr/lib/libc.so.51.0
0c29a000 0c29a000 rtld 0 1 0 /usr/libexec/ld.so
$ ldd /usr/local/bin/svn
/usr/local/bin/svn:
Start End Type Open Ref GrpRef Name
1c000000 3c015000 exe 1 0 0 /usr/local/bin/svn
00cd0000 20cd7000 rlib 0 1 0 /usr/local/lib/libsvn_client-1.so.1.2
01632000 21639000 rlib 0 2 0 /usr/local/lib/libsvn_wc-1.so.1.2
0b2c4000 2b2c8000 rlib 0 2 0 /usr/local/lib/libsvn_ra-1.so.1.2
09205000 29209000 rlib 0 3 0 /usr/local/lib/libsvn_ra_local-1.so.1.2
02fe5000 22ff1000 rlib 0 4 0 /usr/local/lib/libsvn_repos-1.so.1.2
0e4eb000 2e4ef000 rlib 0 5 0 /usr/local/lib/libsvn_fs-1.so.1.2
09c4a000 29c51000 rlib 0 6 0 /usr/local/lib/libsvn_fs_fs-1.so.1.2
06539000 26541000 rlib 0 6 0 /usr/local/lib/libsvn_fs_base-1.so.1.2
0f4a4000 2f4a8000 rlib 0 8 0 /usr/local/lib/libsvn_fs_util-1.so.1.2
01d5f000 21d64000 rlib 0 3 0 /usr/local/lib/libsvn_ra_svn-1.so.1.2
04e5a000 24e60000 rlib 0 4 0 /usr/local/lib/libsasl2.so.2.22
09ab1000 29aba000 rlib 0 3 0 /usr/local/lib/libsvn_ra_neon-1.so.1.2
0ec5f000 2ec63000 rlib 0 11 0 /usr/local/lib/libsvn_delta-1.so.1.2
0e5bc000 2e5c0000 rlib 0 3 0 /usr/local/lib/libsvn_diff-1.so.1.2
068a1000 268b2000 rlib 0 14 0 /usr/local/lib/libsvn_subr-1.so.1.2
0a457000 2a464000 rlib 0 15 0 /usr/local/lib/libsqlite3.so.13.3
01b50000 21b54000 rlib 0 15 0 /usr/local/lib/libaprutil-1.so.2.11
01783000 2179e000 rlib 0 16 0 /usr/local/lib/libdb.so.5.0
07142000 27147000 rlib 0 16 0 /usr/local/lib/libapr-1.so.3.0
0c4f7000 2c4fe000 rlib 0 4 0 /usr/local/lib/libneon.so.27.0
0c919000 2c926000 rlib 0 5 0 /usr/lib/libssl.so.15.0
0c1b0000 2c1b8000 rlib 0 16 0 /usr/lib/libz.so.4.1
0f21b000 2f220000 rlib 0 5 0 /usr/lib/libgssapi.so.5.0
09996000 299a6000 rlib 0 5 0 /usr/lib/libkrb5.so.17.0
06833000 26843000 rlib 0 5 0 /usr/lib/libasn1.so.17.0
07dd4000 27e14000 rlib 0 5 0 /usr/lib/libcrypto.so.18.0
07ba1000 27baa000 rlib 0 17 0 /usr/lib/libexpat.so.9.0
01664000 21743000 rlib 0 17 0 /usr/local/lib/libiconv.so.6.0
0744e000 27452000 rlib 0 16 0 /usr/local/lib/libintl.so.4.0
09417000 29450000 rlib 0 1 0 /usr/lib/libc.so.51.0
02825000 02825000 rtld 0 1 0 /usr/libexec/ld.so
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2395233
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-09-15 22:15:40 CEST