[FLASH-USERS] flash and absoft compiler
Dean Townsley
townsley at uchicago.edu
Fri Apr 27 22:23:31 CDT 2007
Hello again,
For everyone wondering how things turned out, we did finally get it
working. Some info from Dan Sheeler on how he and Shawn Needham got
Absoft working on machines at the Center was very helpful. Thanks to
everyone for their thoughts!
The big thing seems to be that we had a slightly older compiler, 8.0
instead of 9.0a. The general issue is that by default Absoft
generates symbols which are all caps with no trailing underscore, but
there are flags to change this behavior to something more normal.
The highlights were:
- There were flags in the Prototype makefile (-Bstatic, -rpath) that
weren't recognized. But they seem to not be needed.
- Both MPICH and flash have to be built with
"-YEXT_SFX=_ -YEXT_NAME=LCS" to link with C properly. It seems that
if you give these to mpich the right way they don't have to actually
be in the Makefile.h, and so they aren't in the Prototype.
- Use -lU77 on the link line to pick up the POSIX libraries. This is
also not in the Prototype because MPICH was built with it here at
the Center.
- And the weird one... I had to add an "allocatable" array to the
RuntimeParameters_data module to convince the compiler to generate a
RUNTIMEPARAMETERS_DATA symbol. Even without it, the compiler tried
to *use* the symbol, which was undefined. It does appear from other
modules that some modules get these symbols and some don't. My
current hypothesis is that this is a compiler bug that is fixed in
9.0a.
And it runs! and there was much rejoicing :)
Cheers,
-Dean
On Thu, 26 Apr 2007 23:42:43 -0500 Dean Townsley wrote:
> Hi everyone,
>
> I'm trying to help my friend Evan get flash working. He's got an
> Absoft fortran compiler on a Mac, and starting from the Absoft
> Makefile in the Prototypes directory we got as far as linking. But it
> seems that this fortran compiler creates symbols in all caps but the C
> functions are in lowercase (like every other compiler wants them).
>
> Does anyone know off-hand the way to make this work?
>
> I tried -YEXT_NAMES=LCS which changes all the fortan symbols to
> lowercase, but then it has problems with the mpi functions. I guess
> we need to rebuild mpich with a similar flag? And it makes
> _RUNTIMEPARAMETERS_DATA not lowercase, but I don't know why this is
> special. I'm just unsure if we are headed down the right path here.
>
> Compiler is Absoft Pro fortran version 8.0.
>
> Thanks for any help,
> -Dean
More information about the flash-users
mailing list