[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Unwanted shared runtime libraries getting added
From: |
Peter Rosin |
Subject: |
Re: Unwanted shared runtime libraries getting added |
Date: |
Tue, 09 Nov 2010 08:49:51 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6 |
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