计算化学公社

标题: 求助:虚拟机安装gromcas2018发生报错 [打印本页]

作者
Author:
金丹老祖    时间: 2023-12-5 11:14
标题: 求助:虚拟机安装gromcas2018发生报错
我是按照卢老师的教程做的(http://sobereva.com/457
安装cmske3 和 安装 FFTW库都正常,但是安装gmx的最后一步 make install 发生如下报错


报错内容如下:
/root/下载/sob/gromacs-2018.8/src/gromacs/awh/biasparams.cpp:137:62: 错误:‘numeric_limits’不是‘std’的成员
  137 |        GMX_RELEASE_ASSERT(gridAxis[d].length()/sigma < std::numeric_limits<int>::max(), "The axis length in units of sigma should fit in an int");
      |                                                             ^~~~~~~~~~~~~~


/root/下载/sob/gromacs-2018.8/src/gromacs/utility/gmxassert.h:67:15: 附注:in definition of macro ‘GMX_RELEASE_ASSERT’
   67 |     ((void) ((condition) ? (void)0 : \
      |               ^~~~~~~~~
/root/下载/sob/gromacs-2018.8/src/gromacs/awh/biasparams.cpp:137:77: 错误:expected primary-expression before ‘int’
  137 | ASE_ASSERT(gridAxis[d].length()/sigma < std::numeric_limits<int>::max(), "The axis length in units of sigma should fit in an int");
      |                                                             ^~~


/root/下载/sob/gromacs-2018.8/src/gromacs/utility/gmxassert.h:67:15: 附注:in definition of macro ‘GMX_RELEASE_ASSERT’
   67 |     ((void) ((condition) ? (void)0 : \
      |               ^~~~~~~~~
/root/下载/sob/gromacs-2018.8/src/gromacs/awh/biasparams.cpp:137:77: 错误:expected ‘)’ before ‘int’
  137 | ASE_ASSERT(gridAxis[d].length()/sigma < std::numeric_limits<int>::max(), "The axis length in units of sigma should fit in an int");
      |                                                             ^~~


/root/下载/sob/gromacs-2018.8/src/gromacs/utility/gmxassert.h:67:15: 附注:in definition of macro ‘GMX_RELEASE_ASSERT’
   67 |     ((void) ((condition) ? (void)0 : \
      |               ^~~~~~~~~
/root/下载/sob/gromacs-2018.8/src/gromacs/utility/gmxassert.h:67:14: 附注:to match this ‘(’
   67 |     ((void) ((condition) ? (void)0 : \
      |              ^
/root/下载/sob/gromacs-2018.8/src/gromacs/awh/biasparams.cpp:137:9: 附注:in expansion of macro ‘GMX_RELEASE_ASSERT’
  137 |         GMX_RELEASE_ASSERT(gridAxis[d].length()/sigma < std::numeric_limits<int>::max(), "The axis length in units of sigma should fit in an int");
      |         ^~~~~~~~~~~~~~~~~~
/root/下载/sob



作者
Author:
sobereva    时间: 2023-12-5 15:15
把软件环境(操作系统、gcc版本)交代清楚

gromacs、cmake都没拼对

作者
Author:
Uus/pMeC6H4-/キ    时间: 2024-5-2 00:01
半年后再看,不知楼主是否解决此问题,不过还是转载下gromacs论坛某讨论帖的措施:
加 #include <limits> 到 src/gromacs/awh/biasparams.cpp 和 src/gromacs/mdlib/minimize.cpp 两个文件的顶部
为参加这几天的分子动力学培训班,我在win 11笔记本的VMware 16.1.1上Rocky Linux 9.3虚拟机中用gcc 11.4.1编译GROMACS 2018.8,也遇到同样的以" 'numeric_limits' is not a member of 'std' "开头的一串报错,按上述方法修改后即可成功编译。






欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3