Jerkwin分享 http://blog.sciencenet.cn/u/Jerkwin

博文

Windows下AmberTools17的编译

已有 8152 次阅读 2017-12-28 13:33 |系统分类:科研笔记

  • 2017-12-28 13:21:00

根据amber手册及安装脚本的说明, 在windows下可以使用两种方法来编译amber, 一种基于cygwin, 一种基于msys2. 我测试了这两种方法:

  • 最新版msys2-mingw64, 配置通过, 安装时gcc库函数出错, 无法解决, 放弃

  • 最新版cycgwin-x64, 从配置开始就一堆错误, 试着解决了多数, 但最终仍失败, 放弃

无奈之下, 死马当活马医, 抱着试试的心态使用老版本的cygwin-x32来编译, 不成想却通过了. 无奈何, 没脾气.

编译前提

安装好gcc, gfortran, tar, tcsh, make

编译安装

与手册说明类似

0. 下载安装文件

官网下载安装文件AmberTools17.tar.bz2, 需要留电子邮件.

安装文件300多MB, 有点大, 主要是其中的测试文件很多.

1. 解压安装文件

tar jxvf AmberTools17.tar.bz2

得目录amber16.

谜之版本号. 今年是2017年, AmberTools是今年的, 但amber是去年的. 关键amber是要花钱的, 免费的都升级了, 收费的却还没来得及升级. 以后说起计算流程来, 还得讲清楚: 嗯, 我是用amber16跑的, 建模用的AmberTools17. 别嫌罗嗦.

2. 进入安装目录

cd amber16

可以看到, 此路径下包含目录

./AmberTools./dat./doc./test./updateutils

包含文件

./configure./Makefile./README./update_amber

3. 设置AMBERHOME环境变量

export AMBERHOME=`pwd`

我们已经在amber16目录中了, 所以直接使用当前路径即可.

4. 配置编译环境

./configure-cygwin-noX11 gnu

配置选项很多, 我们只用最简单的.

配置时会自动更新, 如果你不想更新, 或更新出错, 可以使用--no-updates选项关闭更新.

默认会安装自带的python脚本, 如果你不想安装, 可以使用--skip-python关闭

配置开始后会检查编译环境是否正常. 最耗时最易出错的地方是NetCDF和fftw部分. NetCDF库既有Fortran接口, 又有C接口. 也可以关闭它. 但根据我的测试, 如果关闭了NetCDF, 后面编译cpptrj以及3drism会无法成功, 且可能还会导致其他问题, 所以还是尽量打开吧.

5. source安装脚本

source amber.sh

如果你使用其他shell, source相应的脚本.

6. 安装

make install

耗时最长, 出错最多的地方. 下面是我遇到的错误和解决的方法:

  • /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lquadmath

    未找到libquadmath.a库, 原因不明. 手动将其复制到./lib即可.

  • misc_utils.c:22:22: 致命错误:execinfo.h:No such file or directory

    这里调用了Linux特有的系统函数, cygwin下没有. 将misc_utils.c的22行注释, 函数print_backtrace只保留一句fprintf(stderr, "Error: signal %d\n",signal);即可.

使用设置

安装完成后, 所有的可执行程序都在./bin下. 这些程序分为两类, 一类是真正的可执行程序(二进制的), 另一类是包装可执行程序的脚本(文本的), 虽然它们的扩展名也是.exe, 对应的真正二进制程序在./bin/to_be_dispatched. 所以, 如果不是在shell中使用的话, 第二类是没法直接调用的. 简单的解决办法就是全部直接使用二进制程序, 并设置相应的环境变量. 当然, 也可以将那些脚本改为Windows的批处理脚本, 或使用shell调用(前提是先装好bash).

编译好的程序在执行时还需要几个库文件cygwin1.dll, USER32.dll, cyggfortran-3.dll. 因此, 在发布这些程序时要将这三个文件复制到./bin下一起发布, 否则在没有这些库文件的电脑上可能无法运行.

这些程序在使用时, 大部分都需要AMBERHOME环境变量. 所以要将其设置好. 稍有特别的是

  • reduce.exe使用时需要设置环境变量REDUCE_HET_DICT="$AMBERHOME/dat/reduce_wwPDB_het_dict.txt"

  • nab.exe使用时需要将${AMBERHOME}/lib加入到LD_LIBRARY_PATH

程序下载

太大了, 免费空间放不下. 需要的到群里去下载.

◆本文地址: https://jerkwin.github.io/2017/12/28/Windows下AmberTools17的编译/, 转载请注明◆
◆评论问题: https://jerkwin.herokuapp.com/category/3/博客, 欢迎留言◆



https://blog.sciencenet.cn/blog-548663-1091879.html

上一篇:点集的几种几何外形参数
下一篇:Amber教程B4:使用antechamber和GAFF模拟药物分子
收藏 IP: 72.221.39.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 18:17

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部