MateriApps Installerを使ってLinux環境にアプリをインストールする(gcc利用)
Last Update:2021/12/09
1. はじめに
このレビューでは、LinuxOS 上でMateriApps Installer を利用して、MateriApps Installerに含まれるソフトウェア(ALPS, Quantum ESPRESSO, LAMMPS, RESPACK, ALPSCore, HPhi, mVMC, TeNeS, DSQSS, Komega, OpenMX)をインストールする方法を解説します。動作確認はCentOS 7, Ubuntu 20 で 行っていますが、他のディストリビューションでも同じ手順でインストール可能のはずです。ツール類(gcc,cmake など) はあらかじめOS にインストールされているものを用いても構いませんが、万一何らかのトラブルが生じた ときにエラーメッセージから原因を推測し適切に対応する必要があります。この作業に自信がない方は、すべての ツールをMateriApps Installer によってインストールすることをお勧めします。
まず、ホームディレクトリで以下のコマンドを実行することで、MateriApps Installerをダウンロードしておきます。
git clone https://github.com/wistaria/MateriAppsInstaller.git
以下では$HOME/MateriAppsInstallerディレクトリにはいって作業を行います。
cd $HOME/MateriAppsInstaller
2. 初期セットアップ
まず最初のセットアップ(必要なディレクトリを作成するなど) を行います。MateriApps Installer のディレクトリ にはいり、
sh setup/setup.sh
を実行します。この作業は最初に一回だけ行えば十分で、以後実行の必要はありません。
3. gcc のインストール
まずコンパイラをインストールします。(あらかじめLinuxOS にインストールされているgcc コンパイラを用いて 以降のツール・アプリをインストールすることも可能ですが、一部のアプリは古いgcc コンパイラではうまくイン ストールできません。トラブルの処理に慣れていない場合は、MateriAppsInstaller でgcc コンパイラを導入する ことをお勧めします。) 以下の手順でgcc10 をインストールします。
cd tools/gcc10 sh install.sh
gcc10 のインストールには長い時間がかかります。遠隔で計算機サーバなどにインストールする場合は、最後のコ マンドは以下のように変更してバックグラウンドで実行するとよいかもしれません。
sh install.sh > log &
この場合はインストール作業の進行状況は同じディレクトリに生成されるログをみるとわかります(例えばcat log を実行する)。インストールが成功したら、以下のコマンドを実行します。
sh link.sh
これにより、ツールを利用する際の初期設定を行うスクリプトのリンクが所定の場所($HOME/materiapps/env.d) にコピーされます。最後にこのコピーされた設定ファイルを実行し、以降のツール・アプリで利用可能な状態にし ます。
source $HOME/materiapps/env.sh
gcc10 がうまくインストールできた場合は、gcc8 はインストールする必要はありません。まれに古いLinux OS で はgcc10 のインストールに失敗する場合があります。その場合にのみ、gcc8 をインストールしてください。イン ストール方法は最初にtools/gcc8 に入る以外は上述と同じです。
4. cmake のインストール
一部のアプリはcmake を利用してインストールを行います。cmake はあらかじめLinux のディストリビューショ ンに含まれることが多いですが、古いバージョンのcmake を用いると、一部アプリのインストールに失敗する場 合があります。バージョン3.6 以降であれば問題ありません。cmake をインストールするには、gcc コンパイラを インストールした直後の状況で以下のコマンドを実行します。
cd ../cmake sh install.sh sh link.sh source $HOME/materiapps/env.sh
5. その他のツールのインストール
同様の方法で残りのツールのインストールも行います。例えば、cmake のインストール直後に、引き続いてgit を インストールする場合は、以下のコマンドを実行します。
cd ../git sh install.sh sh link.sh source $HOME/materiapps/env.sh
すべてのツールをインストールする場合には、まずgit,python3,libffi を先にインストールし、残りのツールをアル ファベット順(boost, eigen3, fftw, gsl, hdf5, lapack, libffi, openmpi, openssl, scalapack, tcltk, zlib) にインストールす るとよいでしょう。(scalapack のインストールを行う前にopenmpi を先にインストールする必要があります。) コ マンドは最初にはいるディレクトリ名をインストールしたツール名に変更する以外全く同じです。
6. アプリのインストール
ツール類のインストールが終了したら、下記のようにインストールしたいアプリのディレクトリに入り、ツールの 実行環境設定を行ったあとに、インストールスクリプトを実行します。
sh $HOME/materiapps/env.sh sh install.sh
正しくインストールされているかどうかは、各アプリのディレクトリで
sh runtest.sh
を実行することで確認できます。(respack のruntest.sh を実行する際には、あらかじめquantum ESPRESSO をイ ンストールしておく必要があります。また次の節で述べる方法により、quantum ESPRESSO の実行環境を設定し ておく必要があります。)
アプリのダウンロード・インストールの途中で一時停止すると、ソースファイルが残ったままになり、再度インス トールを行ったときにうまくいかないことがあります。その場合は、ソースファイル(デフォルトではホームディ レクトリのmateriapps/source 以下)にある対象アプリのディレクトリを削除してください。 インストール時にエラーがでた場合は、エラーメッセージをよく見てください。多くの場合、必要なツール類がイ ンストールされていないためにエラーが生じます。エラーメッセージから、必要となるツール類を読み取り、ツー ルのインストールを行ってください。
テストが無事終了したら、最後に以下のコマンドでアプリの環境設定ファイルを適切なファイル名でリンクし ます。
sh link.sh
7. 各アプリの実行環境の設定
アプリを実行するためには、実行環境の設定を行う必要があります。以下のコマンドを入力することにより、各ア プリの実行環境を整え、すぐにアプリが実行できる環境を整備することができます。例えば、HPhiをインストール してある場合(インストールディレクトリがデフォルトのmateriapps であったとする) は、
ls $HOME/materiapps/hphi
でファイルを表示させたときに、hphivars.sh という名前の設定ファイルがあるはずです。この設定ファイルを下記 のように実行し、実行環境の設定を行います。
source $HOME/materiapps/hphi/hphivars.sh