赞
踩
macOS Mojave(10.14)在安装Ambertools19的过程中走了很多弯路,比如gcc版本的解决等等;在acpype使用中主要是parmchk报错、tleap报错。因此记录下过程,与大家交流分享。(本人纯化学背景,无编程经验)
问题0. 无apple developer账号的情况下无法下载xcode 10.3
解决方案:目前商店中提供的xcode适用于10.15以上的系统,而macos 10.14和10.15区别较大 我并无升级至10.15的打算,故需要自行下载安装xcode 10.3。在无apple developer账号的情况下,找了到此篇博文,https://blog.csdn.net/fukai7722/article/details/98848115。
##########################################################################
问题1. macOS安装brew时下载地址无法连接
解决方案:感谢此篇博文的方案,https://blog.csdn.net/xx5533/article/details/105832153,照做即可,不再赘述。
##########################################################################
问题2. Ambertools19安装之configure
解决方案:./configure -macAccelerate gnu一直报错,没有找到合适的方法,耗费精力,无奈。
故使用sudo ./configure -macAccelerate clang
##########################################################################
问题3. make install过程中报错如下:
[ARPACK] FC dnaitr.f
dnaitr.f:658:35:
376 | call dvout (logfil, 1, rnorm, ndigit,
| 2
......
658 | call dvout (logfil, 2, xtemp, ndigit,
| 1
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)
make[2]: *** [dnaitr.o] Error 1
make[1]: *** [utils] Error 2
make: *** [install] Error 2
解决方案:找到了解决办法http://archive.ambermd.org/202007/0110.html,并进行了小调整,成功解决。
$ brew unlink gcc #brew默认安装的gcc其实为gcc10,版本太高,ambertools部分代码无法用高于gcc7的版本进行编译
$brew search gcc
$brew install gcc@7
$brew link gcc@7
$ln -s /usr/local/bin/gfortran-7 /usr/local/bin/gfortran
完成之后再运行make install或者sudo make install,成功。
##########################################################################
问题4. make install解决gcc版本问题之后,又出现以下报错:
Fatal Error: Cannot read module file 'netcdf.mod' opened at (1), because it was created by a different version of GNU Fortran
解决方案:找了不少方法但都没有成功,直到发现这篇博文,感谢https://www.cnblogs.com/yanzhi123/p/3567458.html,虽然报错有出入而且我的是串行,但也能解决问题。注意将$AMBERHOME/include中netcdf.*文件全删掉即可,不用删掉netcd_*.*文件。从此make install和make test可通过。
##########################################################################
问题5. ambertools安装完成后,运行acpype,antechamber ok,但parmchk failed。
解决方案:查看$AMBERHOME/bin,发现此版ambertools中的命名为parmchk2,而acpype中报错显示parmchk,因此直接编辑acpype.py, 将所有parmchk改为parmchk2,再次运行,显示parmchk2 ok。
##########################################################################
问题6. parmchk2 ok之后,tleap failed:Fatal Error!Could not open file leaprc.ff12SB: not found。
解决方案:查看目录$AMBERHOME/dat/leap/cmd,发现leaprc.ff12SB不存在。同时,$AMBERHOME/dat/leap/cmd/oldff中有很多力场文件,个人选择(仅个人选择)将$AMBERHOME/dat/leap/cmd/oldff下的leaprc.ff99SB拷贝至$AMBERHOME/dat/leap/cmd,同时编辑acpype.py,将leaprc.ff12SB改为leaprc.ff99SB。再次运行,tleap ok,acpype跑通。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。