[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
libtool: make prefix install fails
From: |
Paul E Johnson |
Subject: |
libtool: make prefix install fails |
Date: |
Thu, 17 Oct 2002 16:19:19 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020918 |
I'm trying to build RPMS for Swarm (www.swarm.org) on a RH8.0 system. I
am having trouble with a problem that is similar to a libtool problem
that came up almost one year ago and we discussed it in the RPM list as
well as libtool and Swarm lists.
With libtool 1.4.2, rpm/libtool would fail to build libraries properly
if the prefix for make install was different from the final install
prefix and some relinking had to be done. That broke rpm building in
RH7.2, as I recall. Or was it RH7.1? WHichever was released around
Nov.2001. Libtool was patched on November 15, 2001, and I built rpms
for that patched libtool and since then I had no trouble building rpms
on RH 7.2 and RH7.3. These are the ones I was using:
http://lark.cc.ku.edu/~pauljohn/software/libtool-20011121-1pj.i386.rpm
http://lark.cc.ku.edu/~pauljohn/software/libtool-libs-20011121-1pj.i386.rpm
I thought this shared library problem was solved then, but now it
reappears for me in RH8.0.
On RH8.0, I am having trouble building an RPM for the Swarm libraries. I
get the same thing whether I use the libtool that is distributed with
RH8.0 or I use the libtool-1.4c edition that I took from their CVS last
year and built into rpms mentioned above. I can build/install Swarm just
fine with the regular old configure/make/make install, but if I try to
build the rpm I get a libtool failure because it can't find libraries
that are installed in the buildroot. After the SPEC file dictates this
make prefix=$RPM_BUILD_ROOT%{prefix} install
That causes the install into /tmp/swarm-root/usr and all the "first
wave" of libraries (libspace, libactivity, etc) get dumped in there, but
libtool tries to relink, it fails. Observe please that it builds
libspace, copies it into the build root, and then can't find -lspace.
/bin/sh ../../libtool --mode=install /usr/bin/install -c libspace.la
/tmp/swarm-root/usr/lib/swarm/libspace.la
/usr/bin/install -c .libs/libspace.so.2.0.1
/tmp/swarm-root/usr/lib/swarm/libspace.so.2.0.1
(cd /tmp/swarm-root/usr/lib/swarm && rm -f libspace.so.2 && ln -s
libspace.so.2.0.1 libspace.so.2)
(cd /tmp/swarm-root/usr/lib/swarm && rm -f libspace.so && ln -s
libspace.so.2.0.1 libspace.so)
/usr/bin/install -c .libs/libspace.lai
/tmp/swarm-root/usr/lib/swarm/libspace.la
/usr/bin/install -c .libs/libspace.a
/tmp/swarm-root/usr/lib/swarm/libspace.a
ranlib /tmp/swarm-root/usr/lib/swarm/libspace.a
chmod 644 /tmp/swarm-root/usr/lib/swarm/libspace.a
libtool: install: warning: remember to run `libtool --finish /usr/lib/swarm'
/bin/sh
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/mkinstalldirs
/tmp/swarm-root/usr/include/swarm
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/space.h
/tmp/swarm-root/usr/include/swarm/space.h
/bin/sh
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/mkinstalldirs
/tmp/swarm-root/usr/include/swarm/space
mkdir /tmp/swarm-root/usr/include/swarm/space
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Ca2d.h
/tmp/swarm-root/usr/include/swarm/space/Ca2d.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/ConwayLife2d.h
/tmp/swarm-root/usr/include/swarm/space/ConwayLife2d.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/DblBuffer2d.h
/tmp/swarm-root/usr/include/swarm/space/DblBuffer2d.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Diffuse2d.h
/tmp/swarm-root/usr/include/swarm/space/Diffuse2d.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Discrete2d.h
/tmp/swarm-root/usr/include/swarm/space/Discrete2d.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Grid2d.h
/tmp/swarm-root/usr/include/swarm/space/Grid2d.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Int2dFiler.h
/tmp/swarm-root/usr/include/swarm/space/Int2dFiler.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Object2dDisplay.h
/tmp/swarm-root/usr/include/swarm/space/Object2dDisplay.h
/usr/bin/install -c -m 644
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/src/space/Value2dDisplay.h
/tmp/swarm-root/usr/include/swarm/space/Value2dDisplay.h
make[3]: Leaving directory
`/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/space'
make[2]: Leaving directory
`/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/space'
make[2]: Entering directory
`/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src'
make[3]: Entering directory
`/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src'
/bin/sh
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/mkinstalldirs
/tmp/swarm-root/usr/lib/swarm
/bin/sh ../libtool --mode=install /usr/bin/install -c libswarm.la
/tmp/swarm-root/usr/lib/swarm/libswarm.la
libtool: install: warning: relinking `libswarm.la'
cd
/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src;
/bin/sh ../libtool --mode=relink gcc -g -
O2 -march=i386 -mcpu=i686 -Wall -Wno-import -Wno-protocol -Werror
-Wno-unknown-pragmas -o libswarm.la -version-info 0:0:0 -rp
ath /usr/lib/swarm -Lspace -Lanalysis -Lsimtoolsgui -Lsimtools -Lrandom
-Ltkobjc -Ltclobjc -Lobjectbase -Lactivity -Ldefobj -
Lcollections -Lmisc -L../libobjc -L/usr/lib -R /usr/lib -L/usr/lib -R
/usr/lib -L/usr/lib -R /usr/lib -L/usr/lib -R /usr/lib
-L/usr/X11R6/lib -R /usr/X11R6/lib -L/usr/X11R6/lib SwarmEnvironment.lo
-lspace -lanalysis -lsimtoolsgui -lsimtools -lrandom
-ltkobjc -ltclobjc -lobjectbase -lactivity -ldefobj -lcollections -lmisc
-lobjc -lBLT24 -ltk8.3 -ltcl8.3 -lXpm -lpng -lhdf5 -
lz ../avcall/libavcall.la -lX11 -lm -ldl
gcc -shared SwarmEnvironment.lo -Wl,--whole-archive
../avcall/.libs/libavcall.al -Wl,--no-whole-archive -Wl,--rpath -Wl,/us
r/lib/swarm -Wl,--rpath -Wl,/usr/lib -Wl,--rpath -Wl,/usr/X11R6/lib
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.1
40.20020514/=with-hdf/src/space
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/analysis
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/simtoolsgui
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/simtools
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514
/=with-hdf/src/random
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/tkobjc
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/tclobjc
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/objectbase
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src
/activity
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/defobj
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/collections
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/src/misc
-L/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.1.140.20020514/=with-hdf/libobjc
-L/usr/lib -L/usr/X11R6/lib -L/usr/lib/swarm -lspace -lanalysis
-lsimtoolsgui -lsimtools -lrandom -ltkobjc -ltclobjc -lobjectbase -lac
tivity -ldefobj -lcollections -lmisc -lobjc -lBLT24 -ltk8.3 -ltcl8.3
-lXpm -lpng -lhdf5 -lz ../avcall/.libs/libavcall.al -lX1
1 -lm -ldl -Wl,-soname -Wl,libswarm.so.0 -o
.libs/libswarm.so.0.0.0
/usr/bin/ld: cannot find -lspace
collect2: ld returned 1 exit status
libtool: install: error: relink `libswarm.la' with the above command
before installing it
libtool: install: warning: remember to run `libtool --finish /usr/lib/swarm'
I'm completely bewildered, and would beg for any help anybody can give.
There is an even more ghastly aspect of this problem that was just
brought to my attention. If an old version of Swarm is installed on the
system, then libtool will find it and relink against that, thus
defeating the purpose of building the new library. That's really awful!
--
Paul E. Johnson email: address@hidden
Dept. of Political Science http://lark.cc.ku.edu/~pauljohn
1541 Lilac Lane, Rm 504
University of Kansas Office: (785) 864-9086
Lawrence, Kansas 66044-3177 FAX: (785) 864-5700
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- libtool: make prefix install fails,
Paul E Johnson <=