ubuntu 18.04 編譯vasp 5.4

前兩天給別人編譯了一下vasp,由於一開始懷疑他的系統有些問題,所以在更改makefile仍然沒有通過編譯的情況下,我重裝了一個新的系統 Ubuntu 18.04.

然而問題似乎更加糟糕了,桌面版本的1804缺少很多組件,gcc都沒有,故而需要安裝很多東西。於是:

首先更換國內的源,然後
 

apt-get update

apt-get install gcc g++ gfortran gcc-multilib build-essential vim openssh-server make cmake automake texinfo

大概就是這些了。

然後安裝編譯器 intel parallel studio xe 2015,這個就不敘述了。假設我們就安裝在/opt/intel(注意該目錄需要管理員權限,下面操作類似)之下吧。然後使之生效(長期生效就添加到~/.bashrc裏)

source /opt/intel/bin/compilervars.sh intel64

然後編譯openmpi

wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.3.tar.gz
tar -xvzf openmpi-3.1.3.tar.gz
cd openmpi-3.1.3
./configure --prefix=/opt/openmpi-intel CC=icc CXX=icpc FC=ifort F77=ifort
make -j4
make install

到這裏出問題了,錯誤如下:

/home/user/intel/compilers_and_libraries_2018.2.199/linux/compiler/include/math.h(1230): error: identifier "_LIB_VERSION_TYPE" is undefined
  _LIBIMF_EXTERN_C _LIB_VERSIONIMF_TYPE _LIBIMF_PUBVAR _LIB_VERSIONIMF;
                   ^

Ubuntu 18.04 與Intel parallel studio 2015 不兼容(事實上 除了2018update4 以及2019 update1 以及其以後的版本,其他的老版本都有這個問題),原因是libc-2.7更改了很多東西glibc 2.27 removed the '_LIB_VERSION_TYPE' enum。

那麼解決辦法有兩個,一是回退到1604去編譯安裝,我當時就是這麼做的;二是安裝最新編譯器2018update4 或2019 update1 。

回退系統的辦法我就不介紹了,我發現安裝新的編譯器纔是最好的解決方案。

我們可以使用Intel parallel studio 2018(update 4) 和2019 (update 1)配合編譯vasp。且編譯vasp 5.4.1 以及其後版本非常簡單,安裝好上述兩個編譯器之後,通過更改環境變量使之生效,然後在vasp解壓包內

cp arch/makefile.include.linux_intel makefile.include

make std

即可輕鬆完成編譯。

intel pst 2018 配合vasp 5.4.1需要編譯fftw的庫,我們可以

cd /opt/intel/mkl/interfaces/fftw3xf

sudo make libem64t F=intel precision=MKL_DOUBLE

然後再行編譯vasp。

intel pst 2018 以及2019 都集成了mpi的編譯環境和運行環境,無需單獨安裝mpi庫,而且2019還有現成的fftw3xf庫,免去編譯,所以編譯vasp變得十分簡單。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章