Ralf Wildenhues wrote:
Hello John,
* John R. Cary wrote on Mon, Apr 13, 2009 at 10:19:49PM CEST:
I am trying to link some Fortran code on the Blue Gene (P) using
the xl compilers.
Probably Libtool needs to be ported fully to this system first, or,
just the name matching be adjusted (libtool matches compilers by their
names). Can you point us to documentation of the compiler and linker
suite of this system? Would you be willing to go through the porting
effort with us (you'll have to answer a few questions and try out some
things on this system while we work on a patch).
Sure, I would be happy to do this.
First, the compilers are those at
http://www.alcf.anl.gov/support/usingALCF/bgl/appdocs.php
But I think it is the linking that gets to be a pain. This is a
cross-compile
situation, in which one compiles on 64-bit login nodes but runs on 32-bit
compute nodes. The former can have shared objects, but the latter cannot.
The parallel compilers, e.g., mpixlf95_r, are wrappers over the
cross compilers, such as
login3.intrepid$ \ls /opt/ibmcmp/xlf/bg/11.1/bin/bg*
/opt/ibmcmp/xlf/bg/11.1/bin/bgf2003
/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf2003_r
/opt/ibmcmp/xlf/bg/11.1/bin/bgf77 /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90
/opt/ibmcmp/xlf/bg/11.1/bin/bgf90 /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf90_r
/opt/ibmcmp/xlf/bg/11.1/bin/bgf95 /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf95
/opt/ibmcmp/xlf/bg/11.1/bin/bgfort77 /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf95_r
/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf /opt/ibmcmp/xlf/bg/11.1/bin/bgxlf_r
/opt/ibmcmp/xlf/bg/11.1/bin/bgxlf2003
which are probably also wrappers that ensure that one generates
32-bit code and does not link So in the end, I think these are all just
regular xl compilers.
My solution, btw, is simply to pull any '-R' args out after libtool:
AC_PROG_LIBTOOL
echo Cleaniing up FCLIBS for xlf
case $SERIALFC in
*mpixlf* | *bgxlf*)
OLDFCLIBS=$FCLIBS
unset FCLIBS
for i in $OLDFCLIBS; do
case $i in
-R*) ;;
*) FCLIBS="$FCLIBS $i";;
esac
done
;;
esac
John Cary
_______________________________________________
http://lists.gnu.org/mailman/listinfo/libtool