Hi Ethan, Den 2010-11-08 21:39 skrev Ethan A Mallove: > On 10/21/10 00:13, Ralf Wildenhues wrote: >> Hello Ethan, >> >> * Ethan Mallove wrote on Wed, Oct 20, 2010 at 10:32:11PM CEST: >>>> It looks like that gives us the link line we want, yet we still get the >>>> libimf.so dependency: >>>> >>>> $ /bin/sh ../../../libtool --tag=CC --mode=link icpc -O3 -DNDEBUG -Wall >>>> -static-intel -m64 -finline-functions -fexceptions -pthread -version-info >>>> 0:0:0 -export-dynamic -fexceptions -o libmpi_cxx.la -rpath >>>> /opt/SUNWhpc/HPC9.0/intel/lib/lib64 mpicxx.lo intercepts.lo comm.lo >>>> datatype.lo win.lo file.lo ../../../ompi/libmpi.la -lnsl -lutil >>>> libtool: link: icc -shared .libs/mpicxx.o .libs/intercepts.o .libs/comm.o >>>> .libs/datatype.o .libs/win.o .libs/file.o -Wl,-rpath -Wl,$ORIGIN >>>> -Wl,-rpath -Wl,$ORIGIN/.. -Wl,-rpath -Wl,$ORIGIN/../../lib/64 -Wl,-rpath >>>> -Wl,$ORIGIN -Wl,-rpath -Wl,$ORIGIN/.. -Wl,-rpath -Wl,$ORIGIN/../../lib/64 >>>> ../../../ompi/.libs/libmpi.so -ldl -lnsl -lutil -m64 -pthread -pthread >>>> -Wl,-soname -Wl,libmpi_cxx.so.0 -o .libs/libmpi_cxx.so.0.0.0 >>>> $ ldd .libs/libmpi_cxx.so.0.0.0 >>>> libmpi.so.0 => not found >>>> libdl.so.2 => /lib64/libdl.so.2 (0x00002b35a9499000) >>>> libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b35a969e000) >>>> libutil.so.1 => /lib64/libutil.so.1 (0x00002b35a98b6000) >>>> libimf.so => not found >>>> libsvml.so => not found >>>> libm.so.6 => /lib64/libm.so.6 (0x00002b35a9aba000) >>>> libintlc.so.5 => not found >>>> libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b35a9d3e000) >>>> libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b35a9f4c000) >>>> libc.so.6 => /lib64/libc.so.6 (0x00002b35aa167000) >>>> /lib64/ld-linux-x86-64.so.2 (0x0000003a20000000) >>> The problem is that Libtool is stripping -static-intel from the link >>> line. How can I prevent this? >> >> Pass -Wc,-static-intel instead. >> >> Cheers, >> Ralf > Thanks. > > It looks like some subdirs in the same source tree require different syntax. > E.g., here it barfs on -Wc,-static-intel (after it changes -Wc to -Wl!):
A fix for the -Wc -> $wl mixup when linking was commited September 4 2009 (v2.2.6-139-gc9bbeef). What version of Libtool are you using? You can circumvent that bug in older libtool by using "-Xcompiler -static-intel" instead of "-Wc,-static-intel". > $ /bin/sh ../../../libtool --tag=CC --mode=link icc -O3 -DNDEBUG -Wall > -Wc,-static-intel -m32 -finline-functions -fno-strict-aliasing -restrict > -fexceptions -pthread -fvisibility=hidden -export-dynamic -fexceptions -o > opal_wrapper opal_wrapper.o ../../../opal/libopen-pal.la -lnsl -lutil > libtool: link: icc -O3 -DNDEBUG -Wall -Wl,-static-intel -m32 > -finline-functions -fno-strict-aliasing -restrict -fexceptions -pthread > -fvisibility=hidden -fexceptions -o .libs/opal_wrapper opal_wrapper.o > -Wl,--export-dynamic ../../../opal/.libs/libopen-pal.so -ldl -lnsl -lutil > -pthread -Wl,-rpath -Wl,$ORIGIN -Wl,-rpath -Wl,$ORIGIN/.. -Wl,-rpath > -Wl,$ORIGIN/../lib > ipo: warning #11015: Warning unknown option -static-intel > ld: unrecognized -a option `tic-intel' > > Remove the -Wc, and the problem seems to go away: > > $ /bin/sh ../../../libtool --tag=CC --mode=link icc -O3 -DNDEBUG -Wall > -static-intel -m32 -finline-functions -fno-strict-aliasing -restrict > -fexceptions -pthread -fvisibility=hidden -export-dynamic -fexceptions -o > opal_wrapper opal_wrapper.o ../../../opal/libopen-pal.la -lnsl -lutil > libtool: link: icc -O3 -DNDEBUG -Wall -static-intel -m32 -finline-functions > -fno-strict-aliasing -restrict -fexceptions -pthread -fvisibility=hidden > -fexceptions -o .libs/opal_wrapper opal_wrapper.o -Wl,--export-dynamic > ../../../opal/.libs/libopen-pal.so -ldl -lnsl -lutil -pthread -Wl,-rpath > -Wl,$ORIGIN -Wl,-rpath -Wl,$ORIGIN/.. -Wl,-rpath -Wl,$ORIGIN/../lib > > Is there a way to remove the -Wc in one subdirectory? Do I need to set > libmpi_cxx_la_LINK in this subdir also? I don't expect that to be necessary with the above workaround. Cheers, Peter _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool