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と互換性がありません(実際には2018 update 4および2019 update 1以降のバージョンを除いて、他の古いバージョンではこの問題があります)、libc-2.7がglibc 2.27 removed the'_を多く変更したためですLIB_VERSION_TYPE' enum.
では、解決策は2つあります.1つは1604に戻ってインストールをコンパイルすることです.私はその時そうしました.第二に、最新のコンパイラ2018 update 4または2019 update 1をインストールする.
システムをロールバックする方法は紹介しません.新しいコンパイラをインストールすることが最善の解決策であることに気づきました.
Intel parallel studio 2018(update 4)と2019(update 1)を使用してvaspをコンパイルできます.また、vasp 5.4.1のコンパイルとその後のバージョンは非常に簡単で、上記の2つのコンパイラをインストールした後、環境変数を変更して有効にし、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には既存のfftw 3 xfライブラリがあり、コンパイルを免除するため、vaspのコンパイルが非常に簡単になります.
xxxxxxxxxxxxxxxxxxxxxxxx---bug---xxxxxxxxxxxxxxxxxxxxxxxxx
Intel自身のmpiライブラリはvaspをコンパイルした後にエラーが発生したようですが、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

環境変数が有効になります
export PATH=/opt/openmpi-intel/bin:${PATH}

export LD_LIBRARY_PATH=/opt/openmpi-intel/lib:${LD_LIBRARY_PATH}

その後、vaspのコンパイル時にmakefile.includeファイルのmpiifortをmpifortに変更し、実行時にopenmpiのmpirunしか使用できません.