Hello John, * John R. Cary wrote on Fri, Dec 25, 2009 at 07:00:06AM CET: > On the Cray XT4 we use compiler wrappers to handle > to cross-compile situation, where one cannot have > static libs on the back-end nodes. My understanding > is that the wrapper > takes care of the need for mostly static on the back > end nodes, with the systems libraries explicitly > not having an rpath so that upon submission the > system can change to libraries appropriate for > the back end nodes. > > > The final link using libtool-2.2.6b fails for an executable: > > /bin/sh ../../libtool --tag=F77 --tag=FC --mode=link ftn > -ffixed-line-length-132 -fpic -O2 -DMPICH_IGNORE_CXX_SEEK -fPIC > -o time_loop time_loop.o stripx.o ../../glf23/src/glf_include_mod.lo > ../../glf23/src/libGLF23.la > libtool: link: warning: library `/opt/fftw/3.2.1/lib/libfftw3.la' was moved. > libtool: link: warning: library `/opt/fftw/3.2.1/lib/libfftw3f.la' > was moved. > libtool: link: warning: library `/opt/fftw/3.2.1/lib/libfftw3.la' was moved. > libtool: link: warning: library `/opt/fftw/3.2.1/lib/libfftw3f.la' > was moved. > libtool: link: ftn -ffixed-line-length-132 -fpic -O2 > -DMPICH_IGNORE_CXX_SEEK -fPIC -o time_loop time_loop.o stripx.o > ../../glf23/src/glf_include_mod.o ../../glf23/src/.libs/libGLF23.a > /opt/fftw/3.2.1/lib/libfftw3.so /opt/fftw/3.2.1/lib/libfftw3f.so > /opt/gcc/4.4.1/snos/lib/gcc/x86_64-suse-linux/4.4.1/libgfortranbegin.a > /opt/gcc/4.4.1/snos/lib/../lib64/libgfortran.so -lm -pthread > -Wl,-rpath -Wl,/opt/fftw/3.2.1/lib -Wl,-rpath > -Wl,/opt/gcc/4.4.1/snos/lib/../lib64 -Wl,-rpath > -Wl,/opt/fftw/3.2.1/lib -Wl,-rpath > -Wl,/opt/gcc/4.4.1/snos/lib/../lib64 > /opt/cray/xt-asyncpe/3.3/bin/ftn: INFO: linux target is being used > /usr/bin/ld: attempted static link of dynamic object > `/opt/fftw/3.2.1/lib/libfftw3.so' > collect2: ld returned 1 exit status > make: *** [time_loop] Error 1
The problem here is that likely, libtool needs to be ported to support ftn. What compiler is it, can you point us to online documentation for it and the linker that it uses (GNU binutils ld?), and would you be willing to test proposed patches to add support for it? One interesting data bit for the above link would be to see output of the above --mode=link command with --debug added as first argument to libtool (please gzip large output). > So I would like to disable the insertion of extra libraries > by libtool. Is there a way to do this? Not really; and generally, it should not be necessary for you to do this. > PS - how does libtool decide to add these libraries? It usually adds in all transitive dependencies of libraries, as found in the information in the *.la files. Thanks, Ralf _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool