GROMACS version: 2021.5
GROMACS modification: No
This is not a failed regression test itself… this is a failure to compile the regression test. More specifically, it’s a failure to link:
[ 65%] Linking CXX executable ../../../../../bin/workflow-details-mpi-test
cd ${WORKDIR}/gromacs-2021.5/build/src/api/cpp/workflow/tests && ${CMAKE_PREFIX}/bin/cmake -E cmake_link_script CMakeFiles/workflow-details-mpi-test.dir/link.txt --verbose=1
${GCC_PREFIX}/bin/g++ -march=znver2 -mtune=znver2 -O2 -pipe -O3 -DNDEBUG -Wl,-rpath -Wl,${OPENMPI_PREFIX}/lib64 -Wl,-rpath -Wl,${HWLOC_PREFIX}/lib64 -Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath -Wl,${HCOLL_PREFIX}/lib -Wl,--enable-new-dtags -L${OPENMPI_PREFIX}/lib64 -L${HWLOC_PREFIX}/lib64 -L/usr/lib64 -L${HCOLL_PREFIX}/lib -pthread CMakeFiles/workflow-details-mpi-test.dir/workflow.cpp.o CMakeFiles/workflow-details-mpi-test.dir/__/__/__/__/testutils/unittest_main.cpp.o ../../../../programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o ../../../../programs/CMakeFiles/mdrun_objlib.dir/mdrun/nonbonded_bench.cpp.o -o ../../../../../bin/workflow-details-mpi-test -Wl,-rpath,${WORKDIR}/gromacs-2021.5/build/lib ../../../../../lib/libtestutils.a ${OPENMPI_PREFIX}/lib64/libmpi.so ../../../../../lib/libgmxapi_mpi.so.0.2.1 ../../../../../lib/libmdrun_test_infrastructure.a ../../../../../lib/libtestutils.a ../../../../../lib/libgromacs_mpi.so.6.0.0 -lm ${GCC_PREFIX}/lib64/libgomp.so /lib64/libpthread.so ${OPENMPI_PREFIX}/lib64/libmpi.so ../../../../../lib/libgmock.so ../../../../../lib/libgtest.so -lpthread
${GCC_PREFIX}/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../../../../lib/libgmxapi_mpi.so.0.2.1: undefined reference to `ompi_mpi_cxx_op_intercept'
${GCC_PREFIX}/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../../../../lib/libgmxapi_mpi.so.0.2.1: undefined reference to `MPI::Datatype::Free()'
${GCC_PREFIX}/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../../../../lib/libgmxapi_mpi.so.0.2.1: undefined reference to `MPI::Comm::Comm()'
${GCC_PREFIX}/bin/../lib64/gcc/x86_64-pc-linux-gnu/11.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: ../../../../../lib/libgmxapi_mpi.so.0.2.1: undefined reference to `MPI::Win::Free()'
collect2: error: ld returned 1 exit status
make[3]: *** [src/api/cpp/workflow/tests/CMakeFiles/workflow-details-mpi-test.dir/build.make:128: bin/workflow-details-mpi-test] Error 1
make[3]: Leaving directory '${WORKDIR}/gromacs-2021.5/build'
make[2]: *** [CMakeFiles/Makefile2:6604: src/api/cpp/workflow/tests/CMakeFiles/workflow-details-mpi-test.dir/all] Error 2
make[2]: Leaving directory '${WORKDIR}/gromacs-2021.5/build'
make[1]: *** [CMakeFiles/Makefile2:3152: CMakeFiles/check.dir/rule] Error 2
make[1]: Leaving directory '${WORKDIR}/gromacs-2021.5/build'
make: *** [Makefile:628: check] Error 2
The GROMACS compilation was prepared using:
cmake -DCMAKE_INSTALL_PREFIX=${GROMACS_PREFIX} -DGMX_FFT_LIBRARY=fftw3 \
-DGMX_BUILD_OWN_FFTW=ON -DGMX_HWLOC=ON -DGMX_SIMD=None -DGMX_MPI=ON \
-DGMX_BUILD_OWN_FFTW_URL=${DISTDIR}/fftw-3.3.8.tar.gz \
-DREGRESSIONTEST_PATH=${WORKDIR}/regressiontests-2021.5 \
-DGMX_EXTERNAL_BLAS=ON -DGMX_EXTERNAL_LAPACK=ON ..
make -j128
make VERBOSE=1 check
I’m using GCC 11.2.0 and Open MPI 4.1.2 (plus a few irrelevant dependencies), the latter of which was configured with:
./configure --prefix=${OPENMPI_PREFIX} --enable-shared --enable-static \
--enable-mpi-cxx --with-ucx --without-lsf --with-hcoll=${HCOLL_PREFIX} \
--enable-mca-no-build=btl-usnic,btl-uct --with-libfabric=/usr \
--with-platform=contrib/platform/mellanox/optimized \
--with-ofi-libdir=/usr/lib64 --with-slurm --with-pmix \
--with-hwloc=${HWLOC_PREFIX} --with-hwloc-libdir=${HWLOC_PREFIX}/lib64 \
--with-wrapper-cflags="-march=znver2 -mtune=znver2" \
--with-wrapper-cxxflags="-march=znver2 -mtune=znver2"
Any idea what might be causing this problem? Thanks!