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变得十分简单。

猜你喜欢

转载自blog.csdn.net/donkeydog/article/details/84312795