errors when building with MPI
When I build/try to build adioscatalyst I do face on different MPI vendors always a similar/same error.
OpenMPI:
adioscatalyst/AdiosCatalyst/AdiosPipeline.cxx:293:16: error: ISO C++ forbids declaration of ‘MPI’ with no type [-fpermissive]
293 | catch (const MPI::Exception& mpiError)
| ^~~
ParaStationMPI (based on MPICH) similar also in MPICH:
AdiosCatalyst/AdiosPipeline.cxx:295:43: error: passing ‘const MPI::Exception’ as ‘this’ argument discards qualifiers [-fpermissive]
295 | std::cerr << mpiError.Get_error_string() << std::endl;
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~
Intel MPI:
adioscatalyst/AdiosCatalyst/AdiosPipeline.cxx:295:18: error: 'this' argument to member function 'Get_error_string' has type 'const MPI::Exception', but function is not marked const
std::cerr << mpiError.Get_error_string() << std::endl;
^~~~~~~~
Do you have an MPI implementation where we do know that there will not be an error thrown?
When passing the -fpermissive
flag to the CMAKE_CXX_FLAGS
is also continues over that error, however I guess this is more a workaround than a resolution..