GROMACS does not compile with MPI since a34f8680173ed297635fbe360a62c972f1bd44dd
The build fails with:
[100%] Linking CXX executable ../../bin/gmx_mpi /usr/bin/ld: CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.cpp.o: undefined reference to symbol 'MPI_Bcast' /usr/lib64/openmpi/lib/libmpi.so.12: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status src/programs/CMakeFiles/gmx.dir/build.make:135: recipe for target 'bin/gmx_mpi' failed make: *** [bin/gmx_mpi] Error 1 CMakeFiles/Makefile2:4379: recipe for target 'src/programs/CMakeFiles/gmx.dir/all' failed make: *** [src/programs/CMakeFiles/gmx.dir/all] Error 2 Makefile:160: recipe for target 'all' failed make: *** [all] Error 2
The following commit broke the build:
commit a34f8680173ed297635fbe360a62c972f1bd44dd Author: Teemu Murtola <firstname.lastname@example.org> Date: Thu Sep 15 22:08:02 2016 +0300 Update bundled TNG This commit bundles 6e41191016 from the TNG repo. Required TNG 1.7.10 in future, which is the first version to include support for the build system features used here. Update the build system to use imported targets and interface properties that TNG now provides. Add support for building TNG that also bundles zlib, which reduces the dependency footprint of GROMACS, which is important for portability and ease of installation. Refs #1908. Change-Id: Ibc94d5a9470136331045738f105634ec95fdb455
Fix and clean up handling of some linking
Split GMX_EXTRA_LIBRARIES to several lists, depending on the intended
use of those libraries. Some of these also need to be linked by code
other than libgromacs, either because they are required by the public
headers (mostly -lm), or because also code outside libgromacs directly
references those libraries (e.g., MPI).
Should fix #2087.
Initialize GMX_*_LIBRARIES cmake variables earlier
NVML linking got broken by the way the introduction of separate
variables also set them to empty initial values, but did so after
gmxManageGPU.cmake tried to set GMX_EXTRA_LIBRARIES.
Made minor improvements to the documentation
#1 Updated by Teemu Murtola over 3 years ago
- Status changed from New to Fix uploaded
- Assignee set to Teemu Murtola
- Priority changed from High to Normal
This only affects cases where you do not follow the guidance in the install guide and do not use the MPI wrapper compilers. Every change is verified automatically, and that includes testing with MPI (but only with the wrapper compilers, since that is the recommended way of doing it).