libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

famous relinking problem


From: Arkadiusz Miskiewicz
Subject: famous relinking problem
Date: 09 Apr 2002 14:17:26 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Hi,

>From quite long time in libtool 1.4 series I quite often have
problem with relinking. For example I'm trying to create rpm package
with subversion and I'm doing:

./configure --prefix=/usr --libdir=/usr/lib --bindir=/usr/bin
make
make install \
        libdir=/tmp/qq/usr/lib \
        bindir=/tmp/qq/usr/bin

everything compiles fine but while installing:

cd subversion/libsvn_subr ; /bin/sh 
/home/users/misiek/rpm/BUILD/subversion-r1587/libtool --mode=install 
/home/users/misiek/rpm/BUILD/subversion-r1587/ac-helpers/install-sh -c 
libsvn_subr.la 
/home/users/misiek/tmp/subversion-1587-root-misiek/usr/lib/libsvn_subr.la
/home/users/misiek/rpm/BUILD/subversion-r1587/ac-helpers/install-sh -c 
.libs/libsvn_subr.so.0.0.0 
/home/users/misiek/tmp/subversion-1587-root-misiek/usr/lib/libsvn_subr.so.0.0.0
(cd /tmp/qq/usr/lib && rm -f libsvn_subr.so.0 && ln -s libsvn_subr.so.0.0.0 
libsvn_subr.so.0)
(cd /tmp/qq/usr/lib && rm -f libsvn_subr.so && ln -s libsvn_subr.so.0.0.0 
libsvn_subr.so)
/home/users/misiek/rpm/BUILD/subversion-r1587/ac-helpers/install-sh -c 
.libs/libsvn_subr.lai 
/home/users/misiek/tmp/subversion-1587-root-misiek/usr/lib/libsvn_subr.la
/home/users/misiek/rpm/BUILD/subversion-r1587/ac-helpers/install-sh -c 
.libs/libsvn_subr.a 
/home/users/misiek/tmp/subversion-1587-root-misiek/usr/lib/libsvn_subr.a
ranlib /tmp/qq/usr/lib/libsvn_subr.a
chmod 644 /tmp/qq/usr/lib/libsvn_subr.a
libtool: install: warning: remember to run `libtool --finish /usr/lib'
cd subversion/libsvn_ra_dav ; /bin/sh 
/home/users/misiek/rpm/BUILD/subversion-r1587/libtool --mode=install 
/home/users/misiek/rpm/BUILD/subversion-r1587/ac-helpers/install-sh -c 
libsvn_ra_dav.la 
/home/users/misiek/tmp/subversion-1587-root-misiek/usr/lib/libsvn_ra_dav.la
libtool: install: warning: relinking `libsvn_ra_dav.la'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(cd /home/users/misiek/rpm/BUILD/subversion-r1587/subversion/libsvn_ra_dav; 
/bin/sh /home/users/misiek/rpm/BUILD/subversion-r1587/libtool --mode=relink 
i686-pld-linux-gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE 
-D_SVID_SOURCE -O2 -march=athlon -pthread -DNEON_ZLIB -DNEON_SSL 
-I./subversion/include -I. -I/usr/include/apache 
-I/home/users/misiek/rpm/BUILD/httpd-2.0.35/srclib/apr-util/include 
-I/usr/include/neon -I./expat-lite -I/usr/include/db4 -rpath /usr/lib -o 
libsvn_ra_dav.la commit.lo fetch.lo log.lo merge.lo options.lo props.lo 
session.lo util.lo ../../subversion/libsvn_subr/libsvn_subr.la 
/usr/lib/libapr.la -lneon -lz -L/usr/lib -lssl -lcrypto -L/usr/lib -lxml2 -lz 
-lm -lm -lcrypt -lnsl -ldl)
i686-pld-linux-gcc -shared  .libs/commit.o .libs/fetch.o .libs/log.o 
.libs/merge.o .libs/options.o .libs/props.o .libs/session.o .libs/util.o  
-L/usr/lib -lsvn_subr -lapr -lneon -lssl -lcrypto -lxml2 -lz -lm -lcrypt -lnsl 
-ldl  -Wl,-soname -Wl,libsvn_ra_dav.so.0 -o .libs/libsvn_ra_dav.so.0.0.0
/usr/bin/ld: cannot find -lsvn_subr
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
collect2: ld returned 1 exit status
libtool: install: error: relink `libsvn_ra_dav.la' with the above command 
before installing it
libtool: install: warning: remember to run `libtool --finish /usr/lib'

libsvn_ra_dav.so should be linked with libsvn_subr.so but libsvn_subr.so
is provided by subversion, too and at relinking moment isn't yet installed in 
/usr/lib
or /tmp/qq/usr/lib so relinking fails.

I don't know why libtool tries to relink when I'm installing using
different paths at make install (vs make all) but It should at least
add -Lplacewhere/.libs/ libsvn_subr.so is (it knows where libsvn_subr.so
can be found because in links with it at make all without any problems)

My current and ugly workaround for this is

make install prefix=/tmp/qq
(and here few libraries (ie. libsvn_subr.so) will be properly installed
while some other libraries like libsvn_ra_dav won't due to relinking failure)

find . -name "*.la" -exec rm -f "{}" ";"
(will cause to link *.o into *.so libs again)

make install prefix=/tmp/qq
(and this time relinking will success because for example libsvn_subr.so
is already in /tmp/qq/usr/lib and libtool adds -L/tmp/qq/usr/lib at linking).

Is there way/known patch to fix relinking in libtool? Or anything to disable
relinking on linux/elf.

PLD Linux/libtool 1.4d/automake 1.6/autoconf 2.53
-- 
Arkadiusz Miƛkiewicz   IPv6 ready PLD Linux at http://www.pld.org.pl
misiek(at)pld.org.pl   AM2-6BONE, 1024/3DB19BBD, arekm(at)ircnet, PWr




reply via email to

[Prev in Thread] Current Thread [Next in Thread]