Grimme的xtb程序的編譯方法
Grimme的xtb程序的編譯方法
文/Sobereva@北京科音 2019-Nov-21
之前筆者在《將Gaussian與Grimme的xtb程序聯用搜索過渡態、產生IRC、做振動分析》(http://www.shanxitv.org/421)中已經對xtb程序的基本情況進行了介紹,也說明了安裝方法。通常直接用預編譯版的xtb就夠了,但有時候為實現特殊目的需要改代碼,這就需要自己編譯了。本文介紹一下在CentOS 7.4下的編譯。機子里已經裝了ifort+icc 19.0.1.144編譯器。xtb用的是https://github.com/grimme-lab/xtb/releases下載的6.2.1版。對于其它操作系統、其它版本xtb的情況請根據實際提示隨機應變。
先安裝Python 3:
yum install python3
這會把pip3也裝上。
之后運行以下命令把meson和ninja都裝上,這倆是干什么的參考《DFT-D4色散校正的簡介與使用》(http://www.shanxitv.org/464)里的說明。
pip3 install meson
yum install ninja-build
(注:雖然yum install meson也可以裝meson,但源里面的版本太老,而xtb 6.2.1要求必須版本>=0.49,因此用pip3來裝)
將xtb的源代碼包解壓,打開此目錄下的meson.build,在
## ========================================== ##
## LIBRARIES
部分的前頭一行加上
add_project_link_arguments('-L/usr/lib/x86_64-redhat-linux6E/lib64/', language: 'c')
否則在鏈接可執行文件時可能會提示找不到庫文件。
之后在xtb目錄下運行
export FC=ifort CC=icc CXX=icpc
meson setup build_intel --optimization=2
ninja -C build_intel
編譯過程不到10分鐘,中途如果卡著不動,屏幕上提示dep hack,不要著急,慢慢等著即可。
編譯完了之后在build_intel目錄下就會看到xtb可執行文件。將之挪到xtb可執行文件包里覆蓋原有的可執行文件即可。