Boost C++ Library インストール

昨日 Boost.Interprocess について書いた。備忘録として Boost C++ ライブラリ最新版 1.49.0 のインストール・メモも残しておく。FreeBSD の場合は Ports(/usr/ports/devel/boost-all/)で make install clean を実行すれば簡単に入る(ただし,Boost バージョンは少し古いはずである)。ここでは Mac OS X Snow Leopard でのインストールについて記す。結構面倒であり,時間もかかる。

Boost は,全てのライブラリをインストールしようとすると ICU(International Components for Unicode)OpenMPI(A High Performance Message Passing Library) などの前提ライブラリも組込んでおかなければならない。ICU は IBM が開発した Unicode 処理ライブラリ。Boost.Regex で使用するので必ず入れておきたい。一方,OpenMPI は並列コンピューティング用のライブラリであって,学問的超高速計算を課題とする大学・研究所においてスーパーコンピュータ・並列計算機を使う,プロフェショナル中のプロフェショナルのためのソフトウェアである。Fortran77 コンパイラも要求する。よって,私みたいな日曜プログラマには無縁である。OpenMPI 導入はすっとばしてもよいと思う。以下,$HOME/tmp 下にアーカイブを置き,インストール作業を行うものとする。tcsh シェル操作である。

  1. ICU(icu4c)49.1 導入
  2. C/C++ 用 ICU ソースアーカイブ icu4c-49_1-src.tgz をダウンロード,解凍し,source ディレクトリでインストールする。実行内容は以下の通り。詳細は icu/readme.html を参照のこと。
    % cd ~/tmp
    % tar zxvf icu4c-49_1-src.tgz
    % cd icu/source
    % ./runConfigureICU MacOSX
    % make
    % make check
    % sudo make install
  3. OpenMPI 1.4.5 導入
  4. openmpi-1.4.5.tar.bz2 をダウンロードし,解凍してできたディレクトリで作業する。実行内容は以下の通り。Fortran77(Xcode 環境なら GNU Fortran g77)が予めインストールされていなければならない(説明は割愛する)。
    % cd ~/tmp
    % tar jxvf openmpi-1.4.5.tar.bz2
    % cd openmpi-1.4.5
    % ./configure
    % make
    % sudo make install
  5. Boost 1.49 導入
  6. sourceforge Boost ダウンロード頁から boost_1_49_0.tar.bz2 をダウンロードし,解凍する。OpenMPI をインストールして使えるのであれば,tools/build/v2/user-config.jam ファイルに “using mpi ;” 行を追加する。実行内容は以下の通り。詳細は more/getting_started/unix-variants.html を参照のこと。
    % cd ~/tmp
    % tar jxvf boost_1_49_0.tar.bz2
    % cd boost_1_49.0
    [ tools/build/v2/user-config.jam に using mpi ; を追加  ]
    % ./bootstrap.sh --prefix=/usr/local
    % sudo ./b2 -a install