-
Notifications
You must be signed in to change notification settings - Fork 14
Installation on Mac (working)
以下で説明する"--enable-framework"オプションは、OS Xに標準インストールされているPython 2.7は有効になっていない。 pyenvを使って、独自に導入する。
一旦、homebrewをアンインストール後、再インストール (cleanな環境で構築したい場合にはどうぞ)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
pyenvを導入。
brew install pyenv
インストール可能なPythonのバージョンを表示。2.7.x系列の最新版を導入 (2018年6月20日時点では2.7.15) ただし、"--enable-framework"オプションを有効にしておく必要あり。 指定していない場合には、pyenvから当該のPythonのバージョンを削除の後、以下のコマンドで再導入する。
pyenv install -l
env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 2.7.15
pyenvの使い方はぐぐってください。複数のPythonのバージョンをpyenvの管理下において、その場で簡単に切り替え可能。 TRIQSをインストールする前に、2.7.15に切り替えるために以下のコマンドを実行しておく。
pyenv global 2.7.15
公式ページを参考にした。
brew install llvm
brew link --force llvm
以下のコマンドを実行して、デフォルトのC, C++コンパイラをclangに切り替え。
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.bash_profile
echo 'export CC=clang' >> ~/.bash_profile
echo 'export CXX=clang++' >> ~/.bash_profile
source ~/.bash_profile
この結果、clang++は/usr/local/opt/llvm/bin/clang++が優先される。
(注) 公式ページでは、この段階でPython2を導入するように書いているが、上記でpyenv経由ですでにインストールしてあるので不要 pyenv globalを使って、予め適切なPythonの環境に切り替えておくこと
brew install cmake
brew install --with-mpi --with-python --without-single boost
brew install hdf5
brew install gsl
brew install gmp
brew install fftw
brew install open-mpi
brew install zmq
h5pyのインストールする際、"--no-binary=h5py"をつけることで、h5pyとTRIQS C++コードが厳密に同じHDF5 Cライブラリへリンクできる。 付けない場合には、奇妙な問題が起きる。
pip install numpy
pip install --no-binary=h5py h5py
pip install scipy
pip install --no-binary=mpi4py mpi4py
pip install matplotlib
pip install tornado
pip install pyzmq
pip install jinja2
pip install mako
#pip install clang-5
1.4.xブランチを使う。 並列コンパイルをすると失敗することがあるので注意
mkdir ~/work && cd ~/work
git clone https://github.com/TRIQS/triqs.git triqs.src && cd triqs.src
git checkout -b 1.4.x origin/1.4.x
cd ..
mkdir triqs.build && cd triqs.build
cmake \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_INSTALL_PREFIX=$HOME/opt/triqs \
-DCMAKE_VERBOSE_MAKEFILE=ON \
../triqs.src
make
testを走らせる。
make test
一個だけ失敗するが、中身を検証する限りあまり問題なさそう。
99% tests passed, 1 tests failed out of 188
Total Test time (real) = 33.67 sec
The following tests FAILED:
175 - gf_inplace_112 (Failed)
git clone https://github.com/TRIQS/dft_tools.git
git checkout d005756
cmake \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_Fortran_COMPILER=/usr/local/bin/gfortran-8 \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DTRIQS_PATH=$HOME/opt/triqs \
../dft_tools.src
make
make test
make install
git clone https://github.com/TRIQS/hubbardI.git hubbardI.src
cd hubbardI.src
cmake \
-DCMAKE_CXX_COMPILER=mpicxx \
-DCMAKE_Fortran_COMPILER=/usr/local/bin/gfortran-8 \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DTRIQS_PATH=$HOME/opt/triqs ../hubbardI.src
make
make test
make install