Hello. I'm attempting to compile an MPI "Hello World" Fortran test program
using the Absoft Pro Fortran 9.0 compiler on MacOS X 10.3.7. I compiled
a snapshot of LAM MPI myself which is likely causing the problems, and the
mpif77 wrapper script passes invalid options to the Absoft compiler so
I end up having to manually pass flags.
MPI_hello.f90 compiles fine:
$ f90 -I/usr/local/include -c MPI_hello.f90
$
However when attempting to link, I run into the following errors:
$ f90 -noaclib -L/usr/local/lib -llamf77mpi -lmpi -llam -o MPI_hello MPI_hello.o
ld: Undefined symbols:
_MPI_COMM_NULL_COPY_FN
_MPI_COMM_NULL_DELETE_FN
_MPI_NULL_COPY_FN
_MPI_NULL_DELETE_FN
_MPI_TYPE_NULL_COPY_FN
_MPI_TYPE_NULL_DELETE_FN
_MPI_WIN_NULL_COPY_FN
_MPI_WIN_NULL_DELETE_FN
MPI_hello.o reference to undefined _MPI_COMM_NULL_COPY_FN
MPI_hello.o reference to undefined _MPI_COMM_NULL_DELETE_FN
MPI_hello.o reference to undefined _MPI_NULL_COPY_FN
MPI_hello.o reference to undefined _MPI_NULL_DELETE_FN
MPI_hello.o reference to undefined _MPI_TYPE_NULL_COPY_FN
MPI_hello.o reference to undefined _MPI_TYPE_NULL_DELETE_FN
MPI_hello.o reference to undefined _MPI_WIN_NULL_COPY_FN
MPI_hello.o reference to undefined _MPI_WIN_NULL_DELETE_FN
link failed.
Is there some other include file or option I should be using during the
initial compilation? The source to MPI_hello.f90 is as follows:
-- snip --
program hello
include 'mpif.h'
integer rank, size, ierr
call MPI_INIT(ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr)
print*,'Hello',rank, 'of', size
call MPI_FINALIZE(ierr)
stop
end
-- snip --
Any ideas?
Tony Arcieri
|