I forgot to cc the list....John Cary
--
Tech-X Corp., 5621 Arapahoe Ave, Suite A, Boulder CO 80303
c...@txcorp.com, p 303-448-0727, f 303-448-7756
---------- Forwarded message ----------
Date: Sat, 08 Aug 2009 15:14:54 -0600
From: John R. Cary <c...@txcorp.com>
To: Bob Friesenhahn <bfrie...@simple.dallas.tx.us>
Subject: Re: rpath in later versions of libtool
Bob Friesenhahn wrote:
On Fri, 7 Aug 2009, John R. Cary wrote:
>
> I am trying to use libtool to make a static executable:
>
> /bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -pipe -Wall
> -Wno-unused -static -o uecxxst ../uebase/uedge.o libuecxxst.la
> ../uestat/.libs/libuestat.a ../uebase/libuebase.a
> ../vshdf5/.libs/libvshdf5.a
> -L/usr/local/contrib/babel-1.4.0-r6662p1-static/lib -lsidl -lsidlstub_cxx
> -lsidlstub_f90 -L/usr/local/contrib/petsc-3.0.0-p7-ser/lib -rpath
> /usr/local/contrib/petsc-3.0.0-p7-ser/lib -lpetscts -lpetscsnes -lpetscksp
> -lpetscdm -lpetscmat -lpetscvec -lpetsc -lsuperlu_3.1 -llapack -lblas
> -lmpiuni /usr/local/contrib/netlib_lite-1.0.4-ser/lib/libnetlib_lite.a
> /usr/local/contrib/hdf5-1.8.2-ser/lib/libhdf5_fortran.a
> /usr/local/contrib/hdf5-1.8.2-ser/lib/libhdf5.a
> /usr/local/internal/txbase-r243-ser/lib/gcc4/libtxbase.a -llapack
> /usr/lib64/libblas.so -lgfortranbegin -lgfortran -lm -lz -rpath
> /usr/lib/gcc/x86_64-redhat-linux/4.4.0 -ldl
>
> but it ends up not finding some libraries:
> libatlas.so.3 => /usr/lib64/atlas/libatlas.so.3 (0x00007fb6a3f01000)
>
> One can see that the -rpath on the link line is not generating anything
> like '-Wl,-rpath,...' on the g++ link line.
Actually, we can't see that since you omitted the useful libtool output
where it prints what it actually invoked.
Argh. Here it is:
libtool: link: g++ -g -O2 -pipe -Wall -Wno-unused -o uecxxst ../uebase/uedge.o
/usr/lib64/libblas.so ./.libs/libuecxxst.a ../uestat/.libs/libuestat.a
../uebase/libuebase.a ../vshdf5/.libs/libvshdf5.a
-L/usr/local/contrib/babel-1.4.0-r6662p1-static/lib
/contrib/babel-1.4.0-r6662p1-static/lib/libsidlstub_cxx.a
/contrib/babel-1.4.0-r6662p1-static/lib/libsidlstub_f90.a
-L/usr/lib/gcc/x86_64-redhat-linux/4.4.0
/contrib/babel-1.4.0-r6662p1-static/lib/libsidl.a
/contrib/babel-1.4.0-r6662p1-static/lib/libchasmlite.a
-L/usr/local/contrib/petsc-3.0.0-p7-ser/lib -lpetscts -lpetscsnes -lpetscksp
-lpetscdm -lpetscmat -lpetscvec -lpetsc -lsuperlu_3.1 -lblas -lmpiuni
/usr/local/contrib/netlib_lite-1.0.4-ser/lib/libnetlib_lite.a
/usr/local/contrib/hdf5-1.8.2-ser/lib/libhdf5_fortran.a
/usr/local/contrib/hdf5-1.8.2-ser/lib/libhdf5.a
/usr/local/internal/txbase-r243-ser/lib/gcc4/libtxbase.a -llapack
-lgfortranbegin -lgfortran -lm -lz -ldl -pthread
> what am I doing wrong?
My first guess is that there is a problem with supplying -rpath multiple
times on the command line. If this is the problem, perhaps libtool's output
about what it is doing would include only
-Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.4.0 since that is the last
-rpath option supplied.
The other possibility is that the problem libraries have not been registered
with the system using 'ldconfig' and perhaps Linux needs that.
Thanks for your suggestions. I see no -Wl,-rpath anywhere above. As for
ldconfig,
it that registration were necessary, I guess that would obviate the need for
rpath?
Thx....John Cary
--
Tech-X Corp., 5621 Arapahoe Ave, Suite A, Boulder CO 80303
c...@txcorp.com, p 303-448-0727, f 303-448-7756, NEW CELL 303-881-8572
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool