[csw-maintainers] Subversion: ld: fatal: library -lsvn_client-1: not found

Maciej (Matchek) Bliziński maciej at opencsw.org
Sat Mar 3 22:31:56 CET 2012


Hello maintainers,

Here's a build conundrum from the land of Subversion. Warning: Lots of
ugly error messages in this email.

When setting --libdir to /opt/csw/lib (which seems sane to me), the
build fails as follows:

libtool: install: warning: relinking `libsvn_swig_py-1.la'
libtool: install: (cd
/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/bindings/swig/python/libsvn_swig_py;
/bin/bash /home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/libtool
 --tag CC --silent --mode=relink /opt/SUNWspro/bin/cc -xO3 -m32
-xarch=sparc -mt -D_LARGEFILE64_SOURCE -DNE_LFS -m32 -xarch=sparc
-L/opt/csw/bdb48/lib -L/opt/csw/lib -L/opt/csw/lib -lintl -liconv
-L/opt/csw/bdb48/lib/. -L/opt/csw/lib -L/opt/csw/lib -rpath
/opt/csw/lib -o libsvn_swig_py-1.la swigutil_py.lo
../../../../../subversion/libsvn_client/libsvn_client-1.la
../../../../../subversion/libsvn_wc/libsvn_wc-1.la
../../../../../subversion/libsvn_ra/libsvn_ra-1.la
../../../../../subversion/libsvn_delta/libsvn_delta-1.la
../../../../../subversion/libsvn_subr/libsvn_subr-1.la -L/opt/csw/lib
-laprutil-1 -L/opt/csw/lib -lapr-1 -lsocket -inst-prefix-dir
/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/install-isa-sparcv8plus/lib/python)
ld: fatal: library -lsvn_client-1: not found
ld: fatal: File processing errors. No output written to
.libs/libsvn_swig_py-1.so.0.0.0
libtool: install: error: relink `libsvn_swig_py-1.la' with the above
command before installing it
gmake[2]: *** [install-swig-py-lib] Error 1
gmake[2]: Leaving directory
`/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3'
gmake[1]: *** [svn-python] Error 2
gmake[1]: Leaving directory `/home/maciej/src/opencsw/pkg/subversion/trunk'
gmake: *** [merge-isa-sparcv8plus] Error 2

The problem is probably that the compiler invocation does not find the
libsvn_client-1.so file. The file itself exists:

work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_client/.libs/libsvn_client-1.so

The failing compiler invocation is a long one:

(cd /home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/bindings/swig/python/libsvn_swig_py;
/opt/SUNWspro/bin/cc -G -h libsvn_swig_py-1.so.0 -o
.libs/libsvn_swig_py-1.so.0.0.0  .libs/swigutil_py.o   -R/opt/csw/lib
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_wc/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_ra/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_diff/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_ra_local/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plu
s/subversion-1.7.3/subversion/libsvn_repos/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_fs/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_fs_fs/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_fs_base/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_fs_util/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_ra_svn/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_ra_neon/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_delta/.libs
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/build-isa-sparcv8plus/subversion-1.7.3/subversion/libsvn_subr/.libs
-L/opt/csw/bdb48/lib -L/opt/csw/lib -L/opt/csw/bdb48/lib/.
-L/home/maciej/src/opencsw/pkg/subversion/trunk/work/solaris10-sparc/install-isa-sparcv8plus/lib/python/opt/csw/lib
-lsvn_client-1 -lsvn_wc-1 -lsvn_diff-1 -lsvn_ra-1 -lsvn_ra_local-1
-lsvn_repos-1 -lsvn_fs-1 -lsvn_fs_fs-1 -lsvn_fs_base-1 -ldb-4.8
-lsvn_fs_util-1 -lsvn_ra_svn-1 -lsasl2 -lsvn_ra_neon-1 -lneon -lssl
-lcrypto -lnsl -ldl -lsvn_delta-1 -lsvn_subr-1 -lintl -liconv -lexpat
-lz -lsqlite3 -lmagic -laprutil-1 -lapr-1 -lsocket -lc  -m32
-xarch=sparc -mt -m32 -xarch=sparc   -mt)

The libsvn_client/.libs directory is prominently absent from the
invocation, so that explains the failure. The question is, why is this
directory absent from the invocation. To reproduce the problem, it's
enough to apply this change to the Makefile:

-SVNLIB     = $(prefix)/lib/svn
+SVNLIB     = $(libdir)

If anyone's interested in figuring this puzzle out, the challenge is
open. The prize is, as usual, eternal fame and glory.

Maciej


More information about the maintainers mailing list