Hi,
I have been using Open MPI in conjunction with PETSc on OSX 10.4, and
had been having trouble with undefined symbols when trying tests with
PETSc:
/usr/bin/ld: Undefined symbols:
_pmpi_wtick__
_pmpi_wtime__
After playing around with things for a while, I realized that these
undefined symbols only appeared in libmpi_f90.a, and were somehow
being pulled into the PETSc libraries when they were built. The
problem occurred when trying to build an executable that included
libraries with these undefined symbols. The simplest solution I
could think of was to edit include/mpif.h.in. In the last two lines
of this file I simply changed:
> double precision MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK
> external MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK
to:
< double precision MPI_WTIME, MPI_WTICK
< external MPI_WTIME, MPI_WTICK
This fixed the problem for me, and I am wondering whether this is a
reasonable fix. My understanding is that the functions are not
actually part of open-mpi. Would this approach break anything else?
If not, it would be nice to include it, since the only other option I
can think of for fixing things on OSX 10.4 with the current build
procedures is to strip libraries of undefined symbols before they are
used.
Thanks,
Charles
Charles A. Williams
Dept. of Earth & Environmental Sciences
Science Center, 2C01B
Rensselaer Polytechnic Institute
Troy, NY 12180
Phone: (518) 276-3369
FAX: (518) 276-2012
e-mail: will...@rpi.edu