libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unwanted shared runtime libraries getting added


From: Ethan Mallove
Subject: Re: Unwanted shared runtime libraries getting added
Date: Wed, 20 Oct 2010 16:32:11 -0400
User-agent: Mutt/1.5.14 (2007-03-31)

On Mon, Oct/18/2010 02:40:32PM, Ethan Mallove wrote:
> On Sat, Oct/16/2010 10:32:13AM, Ralf Wildenhues wrote:
> > * Ethan Mallove wrote on Fri, Oct 15, 2010 at 08:59:38PM CEST:
> > > On Mon, Oct/11/2010 09:01:56PM, Ralf Wildenhues wrote:
> > [...]
> > > > 
> > > > This doesn't have the libraries you don't want, AFAICS.  So a workaround
> > > > (using internal details, but fairly safe) would be to use
> > > >   libmpi_cxx_la_LIBTOOLFLAGS = --tag=CC
> > > > 
> > > > Note however that you get to keep the pieces when this breaks.
> > > 
> > > I end up getting *both* --tag=CXX and ---tag=CC:
> > > 
> > > /bin/sh ../../../libtool  --tag=CXX --tag=CC  --mode=link icpc  -O3 
> > > -DNDEBUG -Wall -static-intel -m32 -finline-functions -fexceptions 
> > > -pthread -version-info 0:0:0 -export-dynamic  -fexceptions  -o 
> > > libmpi_cxx.la -rpath /opt/SUNWhpc/HPC9.0/intel/lib 
> > > libmpi_cxx_la-mpicxx.lo libmpi_cxx_la-intercepts.lo libmpi_cxx_la-comm.lo 
> > > libmpi_cxx_la-datatype.lo libmpi_cxx_la-win.lo libmpi_cxx_la-file.lo 
> > > ../../../ompi/libmpi.la -lnsl  -lutil 
> > 
> > OK, sorry, the following should work instead:
> > 
> > libmpi_cxx_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
> >         $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
> >         $(CXXFLAGS) $(libmpi_cxx_la_LDFLAGS) $(LDFLAGS) -o $@
> > 
> > If you don't set libmpi_cxx_la_LDFLAGS yourself, you should replace that
> > with AM_LDFLAGS in the above string.
> 
> 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?

-Ethan

> 
> Thanks,
> Ethan
> 
> > 
> > Cheers,
> > Ralf



reply via email to

[Prev in Thread] Current Thread [Next in Thread]