I am having a similar issue where libtool is passing
(/usr/sfw/lib/libstdc++.so) to the linker.
libtool: link: g++ -g -O2 -D_REENTRANT -pthreads -o .libs/EnumVal
src/EnumVal/EnumVal.o ../src/.libs/libxerces-c.so
/usr/sfw/lib/libstdc++.so -L/usr/sfw/lib -lnsl -lsocket -licuuc
-licudata -pthreads -Wl,-R -Wl,/usr/local/lib -Wl,-R -Wl,/usr/sfw/lib
ld: warning: file /usr/sfw/lib/libstdc++.so: attempted multiple
inclusion of file
I found out that it is because of the postdeps variable in the libtool
script. If you search the libtool script, you will find a similar entry
to this:-
postdeps="-lstdc++ -lm -lgcc_s -lgcc_s". If I remove -lstdc++, then I
get clean compile ( no multiple inclusion warning).
I do not know how to configure libtool to remove it by itself. This may
be your issue as well.
Thanks,
Nitin.
-----Original Message-----
From: libtool-bounces+nkapoor=sensis....@gnu.org
[mailto:libtool-bounces+nkapoor=sensis....@gnu.org] On Behalf Of John R.
Cary
Sent: Friday, April 22, 2011 12:28 PM
To: libtool@gnu.org
Subject: Re: Libtool adding libraries differently than neededwith
compilerwrappers
Hi Nitin,
I take the link line output from libtool and throw it into a shell
script, then
I remove those entries and run the script.
Thx...John
On 4/22/2011 10:25 AM, Kapoor, Nitin wrote:
Hi John,
How are you removing the following paths from you link:
/opt/fftw/3.2.2.1/lib/libfftw3.so /opt/fftw/3.2.2.1/lib/libfftw3f.so
/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64/libpmi.so
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/libstdc++.so
and
-lgcc_s
Are you hand editing the libtool script ?
Thanks
Nitin.
-----Original Message-----
From: libtool-bounces+nkapoor=sensis....@gnu.org
[mailto:libtool-bounces+nkapoor=sensis....@gnu.org] On Behalf Of John
R.
Cary
Sent: Friday, April 22, 2011 9:17 AM
To: libtool@gnu.org
Subject: Libtool adding libraries differently than needed with
compilerwrappers
We have a project using libtool on a Cray-XT4 using pathscale.
For compiling in parallel, we are supposed to use the compiler
wrapper, in this case ftn, that adds various libraries. A particular
complexity is that one has to switch libraries between front and
back end nodes, and this is done with LD_LIBRARY_PATH. We have
a problem, in that libtool seems to extract libraries from
the wrapper and put them at the end of the link line in a way
that the linker exits with an error.
System information
x86_64-unknown-linux-gnu
bash
ftn (wrapping pathf90)
-extend-source -byteswapio -fno-second-underscore -r8 -O2
-fno-second-underscore
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin
/ld
libtool (GNU libtool) 2.4
autoconf (GNU Autoconf) 2.68
automake (GNU automake) 1.11.1
The failure is
/bin/sh ../../libtool --tag=FC --tag=FC --mode=link ftn
-I../../interfaces/wrap -I../../interfaces/src
-I/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r1
96-par/include
-I/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-
r1341-par/include
-I/opt/cray/hdf5-parallel/1.8.3.1/hdf5-parallel-pathscale/include
-I/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0
.47-r114-par/include
-extend-source -byteswapio -fno-second-underscore -r8 -O2
-fno-second-underscore -o runFlowShear runFlowShear.o libfmcfm.la
-L/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-
r1341-par/lib/pathf
-lglf23mpi -lmmm95 -lifspppl -lnclass -lkapisn
-L/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r1
96-par/lib/pathf
-lGYRO -lNEO -lTGLF
-L/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.
12-r51-ser/lib
-llsode -lnlother -lr8slatec
-L/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/l
ib
-lrfftw -lfftw /opt/acml/4.2.0/pathscale64/lib/libacml.a
/opt/acml/4.2.0/pathscale64/lib/libacml.a
/opt/acml/4.2.0/pathscale64/lib/libacml_mv.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0
.47-r114-par/lib
-lezcdf -lvshdf5
-L/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par
/lib
-lnetcdf -lnetcdf_c++
-L/opt/cray/hdf5-parallel/1.8.3.1/hdf5-parallel-pathscale/lib
-lhdf5_fortran -lhdf5_hl -lhdf5
/global/common/franklin/usg/szip/2.1/lib/libsz.a -lz
libtool: link: ftn -I../../interfaces/wrap -I../../interfaces/src
-I/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r1
96-par/include
-I/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-
r1341-par/include
-I/opt/cray/hdf5-parallel/1.8.3.1/hdf5-parallel-pathscale/include
-I/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0
.47-r114-par/include
-extend-source -byteswapio -fno-second-underscore -r8 -O2
-fno-second-underscore -o runFlowShear runFlowShear.o
./.libs/libfmcfm.a
-L/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-
r1341-par/lib/pathf
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libglf23mpi.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libmmm95.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libifspppl.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libnclass.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libkapisn.a
-L/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r1
96-par/lib/pathf
/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r196
-par/lib/pathf/libGYRO.a
/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r196
-par/lib/pathf/libNEO.a
/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r196
-par/lib/pathf/libTGLF.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.
12-r51-ser/lib
/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.12
-r51-ser/lib/liblsode.a
/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.12
-r51-ser/lib/libnlother.a
/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.12
-r51-ser/lib/libr8slatec.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/l
ib
/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/lib
/librfftw.a
/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/lib
/libfftw.a
/opt/acml/4.2.0/pathscale64/lib/libacml.a
/opt/acml/4.2.0/pathscale64/lib/libacml_mv.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0
.47-r114-par/lib
/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0.4
7-r114-par/lib/libezcdf.a
/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0.4
7-r114-par/lib/libvshdf5.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par
/lib
/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par/l
ib/libnetcdf_c++.a
/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par/l
ib/libnetcdf.a
/opt/fftw/3.2.2.1/lib/libfftw3.so /opt/fftw/3.2.2.1/lib/libfftw3f.so
/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64/libpmi.so -lpthread -ldl
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/libstdc++.so -lm -lc -lgcc_s
-L/opt/cray/hdf5-parallel/1.8.3.1/hdf5-parallel-pathscale/lib
-lhdf5_fortran -lhdf5_hl -lhdf5
/global/common/franklin/usg/szip/2.1/lib/libsz.a -lz -pthread
-Wl,-rpath
-Wl,/opt/fftw/3.2.2.1/lib -Wl,-rpath
-Wl,/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64 -Wl,-rpath
-Wl,/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -Wl,-rpath
-Wl,/opt/fftw/3.2.2.1/lib -Wl,-rpath
-Wl,/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64 -Wl,-rpath
-Wl,/usr/lib64/gcc/x86_64-suse-linux/4.1.2
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin
/ld:
attempted static link of dynamic object
`/opt/fftw/3.2.2.1/lib/libfftw3.so'
collect2: ld returned 1 exit status
So one sees that libtool put /opt/fftw/3.2.2.1/lib/libfftw3.so at the
end of
the link line when there was no need. To get this to work, I remove
any
.so files with full path:
/opt/fftw/3.2.2.1/lib/libfftw3.so /opt/fftw/3.2.2.1/lib/libfftw3f.so
/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64/libpmi.so
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/libstdc++.so
and
-lgcc_s
from the link line and run it by hand. Then it works. (See below):
So is there a way to tell libtool not to add any of these libraries
to the link line?
Thx...John Cary
Working link:
$ ftn -I../../interfaces/wrap -I../../interfaces/src
-I/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r1
96-par/include
-I/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-
r1341-par/include
-I/opt/cray/hdf5-parallel/1.8.3.1/hdf5-parallel-pathscale/include
-I/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0
.47-r114-par/include
-extend-source -byteswapio -fno-second-underscore -r8 -O2
-fno-second-underscore -o runFlowShear runFlowShear.o
./.libs/libfmcfm.a
-L/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-
r1341-par/lib/pathf
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libglf23mpi.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libmmm95.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libifspppl.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libnclass.a
/project/projectdirs/facets/franklin/internal-path-3.2/ntcc_transport-r1
341-par/lib/pathf/libkapisn.a
-L/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r1
96-par/lib/pathf
/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r196
-par/lib/pathf/libGYRO.a
/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r196
-par/lib/pathf/libNEO.a
/project/projectdirs/facets/franklin/internal-path-3.2/ga_transport-r196
-par/lib/pathf/libTGLF.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.
12-r51-ser/lib
/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.12
-r51-ser/lib/liblsode.a
/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.12
-r51-ser/lib/libnlother.a
/project/projectdirs/facets/franklin/contrib-path-3.2/netlib_lite-1.0.12
-r51-ser/lib/libr8slatec.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/l
ib
/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/lib
/librfftw.a
/project/projectdirs/facets/franklin/contrib-path-3.2/fftw-2.1.5-ser/lib
/libfftw.a
/opt/acml/4.2.0/pathscale64/lib/libacml.a
/opt/acml/4.2.0/pathscale64/lib/libacml_mv.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0
.47-r114-par/lib
/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0.4
7-r114-par/lib/libezcdf.a
/project/projectdirs/facets/franklin/contrib-path-3.2/fciowrappers-1.0.4
7-r114-par/lib/libvshdf5.a
-L/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par
/lib
/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par/l
ib/libnetcdf_c++.a
/project/projectdirs/facets/franklin/contrib-path-3.2/netcdf-4.1.1-par/l
ib/libnetcdf.a
-lpthread -ldl -lm -lc
-L/opt/cray/hdf5-parallel/1.8.3.1/hdf5-parallel-pathscale/lib
-lhdf5_fortran -lhdf5_hl -lhdf5
/global/common/franklin/usg/szip/2.1/lib/libsz.a -lz -pthread
-Wl,-rpath
-Wl,/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64 -Wl,-rpath
-Wl,/usr/lib64/gcc/x86_64-suse-linux/4.1.2 -Wl,-rpath
-Wl,/opt/cray/pmi/1.0-1.0000.7901.22.1.ss/lib64 -Wl,-rpath
-Wl,/usr/lib64/gcc/x86_64-suse-linux/4.1.2
$
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool
-
This message is intended only for the addressee and may contain
information that is company confidential or privileged. Any technical
data in this message may be exported only in accordance with the U.S.
International Traffic in Arms Regulations (22 CFR Parts 120-130) or the
Export Administration Regulations (15 CFR Parts 730-774). Unauthorized
use is strictly prohibited and may be unlawful. If you are not the
intended recipient, or the person responsible for delivering to the
intended recipient, you should not read, copy, disclose or otherwise use
this message. If you have received this email in error, please delete
it, and advise the sender immediately.
-
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool
-
This message is intended only for the addressee and may contain information
that is company confidential or privileged. Any technical data in this message
may be exported only in accordance with the U.S. International Traffic in Arms
Regulations (22 CFR Parts 120-130) or the Export Administration Regulations (15
CFR Parts 730-774). Unauthorized use is strictly prohibited and may be
unlawful. If you are not the intended recipient, or the person responsible for
delivering to the intended recipient, you should not read, copy, disclose or
otherwise use this message. If you have received this email in error, please
delete it, and advise the sender immediately.
-
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool