GROMACS version: 2022
GROMACS modification: No
Hi all, I’m trying to install gromacs-2022 (2022.3 didn’t work, waited for 2022.4 and got the same problem) but “make” fails with the following error:
[ 92%] Linking CXX shared library ../../lib/libgromacs_mpi.so
/home/user/Downloads/gromacs-2022.4/src/gromacs/mdlib/lincs.cpp:90:8: warning: type ‘struct AtomPair’ violates the C++ One Definition Rule [-Wodr]
90 | struct AtomPair
| ^
/home/user/Downloads/gromacs-2022.4/src/gromacs/mdlib/lincs_gpu.h:61: note: a different type is defined in another translation unit
61 | struct AtomPair
|
/home/user/Downloads/gromacs-2022.4/src/gromacs/mdlib/lincs.cpp:96:9: note: the first difference of corresponding definitions is field ‘index1’
96 | int index1;
| ^
/home/user/Downloads/gromacs-2022.4/src/gromacs/mdlib/lincs_gpu.h:64: note: a field with different name is defined in another translation unit
64 | int i;
|
/tmp/cclqhlb4.s: Assembler messages:
/tmp/cclqhlb4.s:603: Error: symbol `fatbinData' is already defined
...
lto-wrapper: fatal error: /usr/bin/c++ returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:13618: lib/libgromacs_mpi.so.7.0.0] Error 1
make[1]: *** [CMakeFiles/Makefile2:4722: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
I’ve configured with CUDA 11.8, gcc-10 on Ubuntu 22.04. Curiously gromacs-2021.6 was installed without problems (well, at first I tried with gcc-11 and installation failed, after changing to gcc-10 it worked). I’ve also tried with gcc-9, with and without MPI, with and without external blas/lapack. Also, if I set -DGMX_BUILD_OWN_FFTW=ON I see the warning below:
src/external/build-fftw/fftwBuild-prefix/src/fftwBuild/tools/fftw-wisdom.c:303:33: warning: ‘%s’ directive output may be truncated writing up to 1535 bytes into a region of size 64 [-Wformat-truncation=]
303 | snprintf(ps, sizeof(ps), "%s%s", types[j], canonical_sizes[i]);
| ^~
I´d appreciate if you could point me a solution or explanation of what is happening.