GROMACS version: 2021
GROMACS modification: Yes
I am trying to install constant-pH fork of gromacs. During installation I am encountering this error.
[ 77%] Building CXX object src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/densityfitting/densityfitting.cpp.o
In file included from /usr/include/c++/12/bits/stl_pair.h:60,
from /usr/include/c++/12/bits/stl_algobase.h:64,
from /usr/include/c++/12/memory:63,
from /home/russellb/extpacks/constantph-main/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.h:38,
from /home/russellb/extpacks/constantph-main/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.cpp:44:
/usr/include/c++/12/type_traits: In instantiation of ‘struct std::is_invocable_r<void, gmx::{anonymous}::DensityFitting::subscribeToPreProcessingNotifications(gmx::MdModulesNotifier*)::<lambda(const gmx::IndexGroupsAndNames&)>&, gmx::IndexGroupsAndNames>’:
/usr/include/c++/12/type_traits:3292:44: required from ‘constexpr const bool std::is_invocable_r_v<void, gmx::{anonymous}::DensityFitting::subscribeToPreProcessingNotifications(gmx::MdModulesNotifier*)::<lambda(const gmx::IndexGroupsAndNames&)>&, gmx::IndexGroupsAndNames>’
/usr/include/c++/12/bits/invoke.h:103:27: required by substitution of ‘template<class _Res, class _Callable, class ... _Args> constexpr std::enable_if_t<is_invocable_r_v<_Res, _Callable, _Args ...>, _Res> std::__invoke_r(_Callable&&, _Args&& ...) [with _Res = void; _Callable = gmx::{anonymous}::DensityFitting::subscribeToPreProcessingNotifications(gmx::MdModulesNotifier*)::<lambda(const gmx::IndexGroupsAndNames&)>&; _Args = {gmx::IndexGroupsAndNames}]’
/usr/include/c++/12/bits/std_function.h:290:30: required from ‘static _Res std::_Function_handler<_Res(_ArgTypes ...), _Functor>::_M_invoke(const std::_Any_data&, _ArgTypes&& ...) [with _Res = void; _Functor = gmx::{anonymous}::DensityFitting::subscribeToPreProcessingNotifications(gmx::MdModulesNotifier*)::<lambda(const gmx::IndexGroupsAndNames&)>; _ArgTypes = {gmx::IndexGroupsAndNames}]’
/usr/include/c++/12/bits/std_function.h:451:21: required from ‘std::function<_Res(_ArgTypes ...)>::function(_Functor&&) [with _Functor = const gmx::{anonymous}::DensityFitting::subscribeToPreProcessingNotifications(gmx::MdModulesNotifier*)::<lambda(const gmx::IndexGroupsAndNames&)>&; _Constraints = void; _Res = void; _ArgTypes = {gmx::IndexGroupsAndNames}]’
/home/russellb/extpacks/constantph-main/gromacs-constantph/src/gromacs/applied_forces/densityfitting/densityfitting.cpp:257:56: required from here
/usr/include/c++/12/type_traits:3055:53: error: static assertion failed: each argument type must be a complete class or an unbounded array
3055 | static_assert((std::__is_complete_or_unbounded(
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
3056 | __type_identity<_ArgTypes>{}) && ...),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/12/type_traits:3055:53: note: ‘std::__is_complete_or_unbounded<__type_identity<gmx::IndexGroupsAndNames> >((std::__type_identity<gmx::IndexGroupsAndNames>(), std::__type_identity<gmx::IndexGroupsAndNames>()))’ evaluates to false
make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/build.make:8693: src/gromacs/CMakeFiles/libgromacs.dir/applied_forces/densityfitting/densityfitting.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:4506: src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [Makefile:166: all] Error 2
I repeated twice with fresh config and make. However the error pops at this particular point. Is there any specific sequence of steps that should be followed to get constant-pH gromacs to be installed? Any insights would be much appreciated.
These is the building of the tests failing. I managed to fix the compilation, but now the reference data needs to be updated for added constant-pH parameters. I might fix this, but this is not high priority, as we do not plan to continue working on this branch, but rather want to rewrite the code for integration into the main code base.