Build Error

GROMACS version:
GROMACS modification: Yes/No

Hi Everyone,
Any thoughts on this build error? CentOS 9 Stream is the OS with latest gcc/cmake. This was my cmake command: “cmake … -DGMX_GPU=CUDA -DCMAKE_INSTALL_PREFIX=/software/gromacs -DGMX_BUILD_OWN_FFTW=ON”

/usr/include/c++/11/type_traits:3070:7: note: ‘std::__is_complete_or_unbounded<std::__type_identitygmx::IndexGroupsAndNames >((std::__type_identity<gmx:: IndexGroupsAndNames>{}, std::__type_identitygmx::IndexGroupsAndNames()))’ evaluates to false
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:8889: src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/densityfitting/densityfitting.cpp .o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4484: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

Thank You

Hello,

You need to make sure you are using a more modern compiler. I can see that it is using one that only supports up to C+±11, and this is insufficient for modern GROMACS.

For some reasons even more recent versions of CentOS default to using the ancient versions if GCC, so you need to use a devtools environment that has the recent versions available.

Cheers

Paul

| Adam404
March 26 |

  • | - |

GROMACS version:
GROMACS modification: Yes/No

Hi Everyone,
Any thoughts on this build error? CentOS 9 Stream is the OS with latest gcc/cmake. This was my cmake command: “cmake … -DGMX_GPU=CUDA -DCMAKE_INSTALL_PREFIX=/software/gromacs -DGMX_BUILD_OWN_FFTW=ON”

/usr/include/c++/11/type_traits:3070:7: note: ‘std::__is_complete_or_unbounded<std::__type_identitygmx::IndexGroupsAndNames >((std::__type_identity<gmx:: IndexGroupsAndNames>{}, std::__type_identitygmx::IndexGroupsAndNames()))’ evaluates to false
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:8889: src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/densityfitting/densityfitting.cpp .o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4484: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

Thank You

I had the same thought but I am running gcc 11.2 and assumption is if you are using the c++17 flag when calling the compiler then it would be all set? I saw this bug which makes me think the custom version from 2021 that I am attempting to compile is broken with gcc 11 and I need to build with gcc 10.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100381

The thing is we (supposedly) fixed this with densityfitting: add missing include file (!1533) · Merge requests · GROMACS / GROMACS · GitLab so it shouldn’t be an issue.

Can you post your full CMakeCache.txt file?

Thanks!

Paul