[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