[mpich2-dev] Missing symbols when configuring with --disable-f77 --disable-f90
Dave Goodell
goodell at mcs.anl.gov
Mon Aug 3 13:44:15 CDT 2009
On Aug 3, 2009, at 1:23 PM, Lisandro Dalcin wrote:
...
> then the following symbols are not available in the MPI library:
>
> - MPI_Type_create_f90_integer
> - MPI_Type_create_f90_real
> - MPI_Type_create_f90_complex
...
> - MPI_Status_c2f
> - MPI_Status_f2c
>
> Any chance that if Fortran bindings are disabled (or in case a Fortran
> compiler is not available), the MPI library still provide these
> symbols? The code in "src/binding/f90" seems to cope (or could more or
> less easily cope) with the case of missing Fortran configuration info.
> Additionally, MPI_Status has a so simple layout that some assumptions
> could take place and still provide MPI_Status_{c2f|f2c}.
AFAIK isn't a good way to provide these functions when f77/f90 are
disabled. Furthermore I don't think that we can write safe "dummy"
implementations since we aren't actually checking the Fortran build
environment.
IMO the right fixes in this case are on either the user's side (don't
disable f77/f90) or on mpi4py's side (add configure checks and
possibly a dummy library of your own). You could alter the bindings
for those 5 or so missing functions to throw an exception if the user
calls those functions in python and they are not available in the
underlying MPI library.
-Dave
More information about the mpich2-dev
mailing list