In CMakeList we set -DMPI. This conflicts with the C++ namespace "MPI". It was added by Erik 2009-03-09 for FAHCORE (d1c6d34e).

Is this define at all needed? Why can FAH not just test for GMX_LIB_MPI?We have two options:- Use a different definition name.- Tell the MPI library we don't want the C++ bindings with OMPI_SKIP_MPICXX / MPICH_SKIP_MPICXX. Since we don't need the C++ binding this would be nice (a bit faster compiler?). But than we would have a problem with any other MPI library. Is anyone still using something else than these two?

I have seen this error with OpenMPI and master. But it should also occur also with the 4.5 branch and MPICH.

History

For the released version (4.5), I think it's important that we not change the behavior of how Gromacs interacts with external packages that depend on it. So because FAHCORE expects -DMPI, suddenly removing it from a specific version is bad form. But for the master (and future releases), I think we can choose whichever option we think best.

Let me be explicit: making this change will break the FAH build in ways that may not be immediately obvious to the compiler. I no longer maintain that code, so whoever does the builds next will have to notice (probably from bug reports) that the builds are failing and patch the code to use other variables.

Therefore we SHOULD NOT remove -DMPI for version 4.5. That will break the specs of a current release version. We CAN remove it for master and possibly 4.6. Versions that are not yet released can change their specs. But it will cause someone a headache down the line. :)

For the released version (4.5), I think it's important that we not change the behavior of how Gromacs interacts with external packages that depend on it. So because FAHCORE expects -DMPI, suddenly removing it from a specific version is bad form. But for the master (and future releases), I think we can choose whichever option we think best.

Hi guys-

The core wrapper is undergoing some changes, and we'll make sure that the #ifdef MPI is removed. The time scale is approximately on the scale of 4.6.