Hi,
I'm building our OpenSpeedShop performance tool to run on the backend
nodes of a Cray-XE machine. We use the libtool, m4, autoconf, and
automake autotools.
Everything is working accept I'm getting the wrong libstdc++ library
when linking the main program that runs on the backend nodes. Each of
the libraries that I'm building that get linked into the main program
have /usr/lib64/libstdc++.la in there .la files. The
/usr/lib64/libstdc++.la isn't the one that corresponds to the
/opt/gcc/4.6.1/bin/g++ compiler that I'm using to build for the target
(Cray backend nodes). This compiler has its own stdc++.la file:
/opt/gcc/default/snos/lib64/libstdc++.la.
I'm not sure how resolve this and have spent a few hours trying to find
how to force the build of our tool to use the correct version of
libstdc++. The host version and the target version conflict and cause
linker errors when building the main program.
I'm guessing I'm doing something dumb.
I build my own libtool, autoconf, m4, and automake because the ones on
the Cray frontend node are old (libtool-1.5.3). We use
libtool-2.2.6b. I build these on the frontend node and use it to
"bootstrap/autogen" the tool we are building. Everything works fine
when we build the frontend version of our tool but when I try to build a
version that runs on the backend nodes of the cray with a different
compiler (/opt/gcc/4.6.1/bin/g++) I'm still getting the
/usr/lib64/libstdc++.la files included in my target build library .la
files.
Any thoughts on what I'm doing wrong? Is there a way to build a
version libtool, for the target, and specify the libraries that should
be used (i.e. the ones that correspond to the compiler)?
Thanks for any help. It will be appreciated.
Jim G.
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool