I get the following error when trying to make check-swig-py:

          /usr/bin/python
> /apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/bindings/swig/python/tests/run_all.py
> Traceback (most recent call last):
>   File
> "/apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/bindings/swig/python/tests/run_all.py",
> line 22, in ?
>     import mergeinfo, core, client, delta, pool, ra, wc, repository, auth,
> \
>   File
> "/apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/bindings/swig/python/tests/mergeinfo.py",
> line 22, in ?
>     from svn import core, repos, fs
>   File
> "/apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/bindings/swig/python/svn/core.py",
> line 26, in ?
>     from libsvn.core import *
>   File
> "/apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/bindings/swig/python/libsvn/core.py",
> line 29, in ?
>     import _core
>
ImportError:
> /apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/libsvn_ra_serf/.libs/libsvn_ra_serf-1.so.0:
> undefined symbol: apr_file_buffer_set
> gmake: *** [check-swig-py] Error 1
>

I have built apr, apr-util and subversion with a non-standard prefix.
However, when I check the library mentioned in the error message above, it
is finding my apr, apr-util and svn libraries, not the system ones.

 ldd libsvn_ra_serf-1.so.0
>         linux-vdso.so.1 =>  (0x00007fff33dfc000)
>         libsvn_delta-1.so.0 =>
> /apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/libsvn_delta/.libs/libsvn_delta-1.so.0
> (0x00002b618e828000)
>         libsvn_subr-1.so.0 =>
> /apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/libsvn_subr/.libs/libsvn_subr-1.so.0
> (0x00002b618ea35000)
>         libmagic.so.1 => /usr/lib64/libmagic.so.1 (0x00002b618ed0a000)
>         libserf-0.so.0 =>
> /apps/install/subversion-1.7.0-beta2-Linux_x86_64/serf/.libs/libserf-0.so.0
> (0x00002b618ef19000)
>         libaprutil-1.so.0 =>
> /apps/Linux_x86_64/subversion-1.7.0-beta2/lib/libaprutil-1.so.0
> (0x00002b618f12e000)
>         libexpat.so.0 =>
> /apps/Linux_x86_64/subversion-1.7.0-beta2/lib/libexpat.so.0
> (0x00002b618f34e000)
>         libapr-1.so.0 =>
> /apps/Linux_x86_64/subversion-1.7.0-beta2/lib/libapr-1.so.0
> (0x00002b618f570000)
>         libuuid.so.1 => /lib64/libuuid.so.1 (0x00002b618f7bc000)
>         librt.so.1 => /lib64/librt.so.1 (0x00002b618f9c0000)
>         libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002b618fbc9000)
>         libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b618fe02000)
>         libdl.so.2 => /lib64/libdl.so.2 (0x00002b619001d000)
>         libm.so.6 => /lib64/libm.so.6 (0x00002b6190221000)
>         libz.so.1 => /usr/lib64/libz.so.1 (0x00002b61904a5000)
>         libssl.so.6 => /lib64/libssl.so.6 (0x00002b61906b9000)
>         libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002b6190905000)
>         libc.so.6 => /lib64/libc.so.6 (0x00002b6190c57000)
>         /lib64/ld-linux-x86-64.so.2 (0x000000326ec00000)
>         libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2
> (0x00002b6190faf000)
>         libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002b61911de000)
>         libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002b6191473000)
>         libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3
> (0x00002b6191675000)
>         libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0
> (0x00002b619189b000)
>         libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002b6191aa3000)
>         libresolv.so.2 => /lib64/libresolv.so.2 (0x00002b6191ca5000)
>         libselinux.so.1 => /lib64/libselinux.so.1 (0x00002b6191ebb000)
>         libsepol.so.1 => /lib64/libsepol.so.1 (0x00002b61920d3000)
>

readelf -d libsvn_ra_serf-1.so.0 | grep RPATH
>  0x000000000000000f (RPATH)              Library rpath:
> [/apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/libsvn_delta/.libs:/apps/install/subversion-1.7.0-beta2-Linux_x86_64/subversion/libsvn_subr/.libs:/apps/install/subversion-1.7.0-beta2-Linux_x86_64/serf/.libs:/apps/Linux_x86_64/subversion-1.7.0-beta2/lib:/usr/lib64]
>

apr_file_buffer_set is not defined in the system libapr-1.so.0, but it is
defined in mine
(/apps/Linux_x86_64/subversion-1.7.0-beta2/lib/libapr-1.so.0).  I have
verified
this with readelf -s.  Somehow it appears that when check-swig-py is run the
system library /usr/lib64/libapr-1.so.0 is used instead of the one I built,
despite the results of
ldd and readelf shown above.  Is there some method to get python use the
RPATH in libsvn_ra_serf as ldd does so the correct libapr is found, or is
the python check overriding RPATH with
some method like LD_LIBRARY_PATH?

Reply via email to