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!):

$ /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?

-Ethan
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool

Reply via email to