Skip to content

Installation on Mac (working)

Hiroshi Shinaoka edited this page Aug 6, 2018 · 8 revisions

DCoreのOS X High Sierraへのインストール

homebrew + pyenvを使って、Python 2.7とPython 3.xを共存させる。

以下で説明する"--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

clangコンパイラを導入

公式ページを参考にした。

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++が優先される。

TRIQSが依存するパッケージを導入

(注) 公式ページでは、この段階で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

TRIQSをインストール

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)

TRIQS/DFTToolsの導入

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

TRIQS/hubbardIの導入

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