libtool
[Top][All Lists]
Advanced

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

Re: How to use libtool for target builds? libstdc++ conflicts


From: Jim Galarowicz
Subject: Re: How to use libtool for target builds? libstdc++ conflicts
Date: Thu, 10 Nov 2011 17:05:46 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:7.0) Gecko/20110927 Thunderbird/7.0

Hi all,

I did get around this issue by not trying to use the Cray CC and cc commands. They must do something that skews how the whole scenario is supposed to work By just using the PrgEnv-gnu module and using gcc and g++ directly, I do not see the issues outlined below. The proper libstdc++ library that is associated with the gcc and g++ version is used.

Thanks,
Jim G

On 11/08/2011 04:56 PM, Jim Galarowicz wrote:

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.



reply via email to

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