Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: David Daniel (ddd_at_[hidden])
Date: 2005-08-30 12:58:27


Hi Folks,

Anyone had any luck building fortran on Tiger, particularly f90?

I'm probably just dumb, but appended are 4 problems I've seen.

Thanks, David

1. gfortran

configure --enable-f77 --enable-f90

[snip]

*** Fortran 77 compiler
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking gfortran external symbol convention... double underscore
checking if FORTRAN compiler supports LOGICAL... yes
checking size of FORTRAN LOGICAL... 4
checking for C type corresponding to Fortran LOGICAL... int
checking alignment of FORTRAN LOGICAL... unknown
configure: WARNING: *** Problem running configure test!
configure: WARNING: *** See config.log for details.
configure: error: *** Cannot continue.

2. xlf

configure FC=xlf F77=xlf --enable-f77 --enable-f90

[snip]

*** Fortran 77 compiler
checking whether we are using the GNU Fortran 77 compiler... no
checking whether xlf accepts -g... yes
checking xlf external symbol convention... no underscore
checking if FORTRAN compiler supports LOGICAL... yes
checking size of FORTRAN LOGICAL... unknown
configure: WARNING: *** Problem running configure test!
configure: WARNING: *** See config.log for details.
configure: error: *** Cannot continue.

3. xlf again

configure FC=xlf95 F77=xlf77 --enable-f77 --enable-f90

[snip]

*** Fortran 77 compiler
checking whether we are using the GNU Fortran 77 compiler... no
checking whether xlf77 accepts -g... no
checking xlf77 external symbol convention... configure: WARNING:
unable to produce an object file testing F77 compiler
checking if FORTRAN compiler supports LOGICAL... no
checking if FORTRAN compiler supports INTEGER... no
checking if FORTRAN compiler supports INTEGER*1... no
checking if FORTRAN compiler supports INTEGER*2... no
checking if FORTRAN compiler supports INTEGER*4... no
checking if FORTRAN compiler supports INTEGER*8... no
checking if FORTRAN compiler supports INTEGER*16... no
checking if FORTRAN compiler supports REAL... no
checking if FORTRAN compiler supports REAL*4... no
checking if FORTRAN compiler supports REAL*8... no
checking if FORTRAN compiler supports REAL*16... no
checking if FORTRAN compiler supports DOUBLE PRECISION... no
checking if FORTRAN compiler supports COMPLEX... no
checking if FORTRAN compiler supports COMPLEX*8... no
checking if FORTRAN compiler supports COMPLEX*16... no
checking if FORTRAN compiler supports COMPLEX*32... no
checking for max fortran MPI handle index... 2147483647

*** Fortran 90/95 compiler
checking whether we are using the GNU Fortran compiler... no
checking whether xlf95 accepts -g... yes
checking for Fortran flag to compile .f files... none
checking for Fortran flag to compile .f90 files... -qsuffix=f=f90
checking for Fortran flag to compile .f95 files... -qsuffix=f=f95
checking whether xlf77 and xlf95 compilers are compatible... no
configure: WARNING: *** Fortran 77 and Fortran 90 compilers are not
link compatible
configure: WARNING: *** Disabling Fortran 90/95 bindings

4. Do we need to add -lSystemStubs ???

$ configure F77=gxlf --disable-f90 --enable-f77 --enable-static --
disable-shared

$ make
$ make install
$ mpif77 hellof.f
** _main === End of Compilation 1 ===
1501-510 Compilation successful for file hellof.f.
/usr/bin/ld: Undefined symbols:
_asprintf$LDBLStub
_fprintf$LDBLStub
_snprintf$LDBLStub
_sprintf$LDBLStub
_sscanf$LDBLStub
_printf$LDBLStub
_vfprintf$LDBLStub
_vasprintf$LDBLStub
_syslog$LDBLStub
xlf95 -I/opt/openmpi/trunk/include -I/opt/openmpi/trunk/include/
openmpi/ompi hellof.f -L/opt/openmpi/trunk/lib -lmpi -lorte -lopal -
lm -ldl

BUT.... explicitly adding -lSystemStubs (which needs to be at the end
so I can't use mpif77 -- or can I?)

$ xlf95 -I/opt/openmpi/trunk/include -I/opt/openmpi/trunk/include/
openmpi/ompi hellof.f -L/opt/openmpi/trunk/lib -lmpi -lorte -lopal -
lm -ldl -lSystemStubs
** _main === End of Compilation 1 ===
1501-510 Compilation successful for file hellof.f.