swarm-support
[Top][All Lists]
Advanced

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

The old libtool magic returns to frustrate RPM building


From: Paul E Johnson
Subject: The old libtool magic returns to frustrate RPM building
Date: Thu, 17 Oct 2002 12:03:40 -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.






--
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


                 ==================================
  Swarm-Support is for discussion of the technical details of the day
  to day usage of Swarm.  For list administration needs (esp.
  [un]subscribing), please send a message to <address@hidden>
  with "help" in the body of the message.



reply via email to

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