libtool
[Top][All Lists]
Advanced

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

Re: Fortran libraries on the Blue Gene with mpi


From: Ralf Wildenhues
Subject: Re: Fortran libraries on the Blue Gene with mpi
Date: Sat, 18 Apr 2009 18:48:05 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hi John,

* John R. Cary wrote on Thu, Apr 16, 2009 at 11:13:54PM CEST:
> Ralf Wildenhues wrote:
>> OK.  That's fairly easy to support in Libtool then: the only thing we
>> need to get right is to turn off shared library support completely for
>> BG/L.
>
> I gave the wrong impression.  This is a BG/P.  My previous reference to the
> compilers was because the BG/L compilers (I thought) are the same.

That's fine; I understood you correctly.

>> Can we assume bg* produces code for the compute nodes only?  Let's turn
>> the question around: how can we reliably detect that code is being
>> compiled for the compute nodes?

> I don't know for sure, but the experiments at the end of this indicate that
> bg compiled code works on the login nodes.

That's good to know.

> login5.intrepid$ ./config.guess
> ./config.guess: unable to guess system type
[...]
> config.guess timestamp = 2009-02-03
>
> uname -m = 4400
> uname -r = 4.0
> uname -s = iainfo2
> uname -v = 3.0

> /bin/arch              = ppc64

> UNAME_MACHINE = 4400
> UNAME_RELEASE = 4.0
> UNAME_SYSTEM  = iainfo2
> UNAME_VERSION = 3.0

This looks pretty weird, as if the system hasn't fully been set up yet.
Where does that "iainfo2" name come from?

>> I am unsure whether -dy/-dynamic/-qnostaticlink is the default mode of
>> operation.  Can you find this out for me, for both compiler suites?

Thanks for the experiments.  Results:
- xlc links shared even without -qnostaticlink,
- bgxlc requires -qnostaticlink in order to link shared.
- both understand -R and -Wl,-rpath which is good.

Now can you try, for both xlc and bgxlc, whether a static library will
be accepted even with -qnostaticlink?  I.e., whether -qnostaticlink only
is "prefer shared libraries over static ones" or "require shared
libraries, reject static ones"?

bgxlc -c foo.c
ar cru libfoo.a foo.o
bgxlc -c main.c
bgxlc -o main main.o -qnostaticlink -L. -lfoo
./main
bgxlc -o main main.o -L. -lfoo
./main

Thanks,
Ralf




reply via email to

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