GROMACS version: 2020.4
GROMACS modification: No
I’m trying to build gromacs 2020.4 on ancient Centos (7.9) install at an HPC center. Since the system cmake and compilers are too old, I figured I’d use conda’s compilers. However, the build is failing at the cmake stage, with the following error:
cmake ~/gromacs-2020.4
(a bunch of output, only warnings are some CMake deprecation warnings)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cufft_LIBRARY (ADVANCED)
linked by target "libgromacs" in directory /home/uroch/gromacs-2020.4/src/gromacs
-- Generating done
It is finding the CUDA libraries (/usr/loca/cuda-11.1, pointed to by CUDA_HOME), and I tried adding the location of the CUDA fft library (/usr/local/cuda-11.1/targets/x86_64-linux/lib/) to LD_LIBRARY_PATH.
If I try the bold/stupid idea of simply ignoring the error message and trying to build anyway, it fails with a million errors in the stl libraries of all things. I can’t upload the whole make output here because I’m a new user, but here’s a snippet:
[ 27%] Building NVCC (Device) object src/gromacs/CMakeFiles/libgromacs.dir/domdec/libgromacs_generated_gpuhaloexchange_impl.cu.o
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/stl_pair.h(442): error: argument list for class template “std::pair” is missing
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/stl_pair.h(442): error: expected a “)”
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/stl_pair.h(442): error: template parameter “_T1” may not be redeclared in this scope
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/stl_pair.h(442): error: expected a “;”
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/basic_string.h(5989): error: argument list for class template “std::__cxx11::basic_string” is missing
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/basic_string.h(5989): error: expected a “)”
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/basic_string.h(5989): error: template parameter “_InputIterator” may not be redeclared in this scope
/home/uroch/anaconda3/envs/gromacs/x86_64-conda-linux-gnu/include/c++/9.3.0/bits/basic_string.h(5990): error: expected a “;”
Anyway, I can’t escape the dreaded feeling I’m doing something stupid, or that someone else must have already solved this problem, but I’m stuck, so I’m asking for help. Any ideas?