Hi, > MPI 3.0 *removes* a set of functions from MPI 1.x, of which the > following are in use in PETSc: > > * MPI_Type_struct, used in > src/ts/characteristic/impls/__da/slda.c > src/dm/impls/mesh/meshpcice.c > > * MPI_Errhandler_create/MPI___Errhandler_set, used in > src/sys/objects/pinit.c > src/sys/objects/init.c > > In both cases function were renamed in MPI-2.0: > MPI_Type_struct -> MPI_Type_create_struct > MPI_Errhandler_create -> MPI_Comm_create_errhandler > MPI_Errhandler_set -> MPI_Comm_set_errhandler > > It should be sufficient to update > BuildSystem/config/packages/__MPI.py and add the respective checks > in configureMPI2(). Any objections on the following defines: > HAVE_MPI_TYPE_CREATE_STRUCT > HAVE_MPI_COMM_CREATE___ERRHANDLER > HAVE_MPI_COMM_SET_ERRHANDLER > in the case of success? > > > Yes, this is the right way. > > Matt
Since there was a lack of consensus on alternatives, I applied Matt's Right Way here: https://bitbucket.org/petsc/petsc-dev/commits/fabf60c7d012db5a109255579665b5c2 https://bitbucket.org/petsc/buildsystem/commits/355293e9e4e0588644168f629930b566 This is mostly done to ensure that we don't forget about the initial goal of fixing the issue. Cleaner/more unified solutions to the problem are still welcome... Best regards, Karli
