dftbplus / mpifx

Modern Fortran wrappers around MPI routines
BSD 2-Clause "Simplified" License
34 stars 13 forks source link

Mismatching types in MPI_win wrappers (and resulting build problems with MPICH 4.x) #48

Open aradi opened 1 year ago

aradi commented 1 year ago

Currently, MPIFX can not be built with MPICH 4.x.

Problem

The MPI-window wrappers use the old F90 mpi module (instead of mpi_f08) but type(c_ptr) as argument type for pointers, which is strictly only valid when using mpi_f08.

Possible solution

One would have to upgrade the entire library to use mpi_f08 all over.

Converting the pointer argument types to integer(mpi_address_kind) to be compatible with the f90 mpi module is not a real option, as subsequent c_f_pointer() would not work due to type-mismatch.