調べたところ、Dakota6.0/5.4/5.3のライブラリlibsampling.soと、OFのライブラリの名前が重複しているので、Dakotqのほうのライブラリ名をちょっと変えたものをソースからインストールする。
1)準備(CentOS6.5)
cmake 2.8.4以上(5.4)/2.8.8以上(6.0)→標準rpmは2.6なので適当に探してくる
boost 1.49.0以上→ソースでインストール(./bootstrap.sh/b2)
$ ./bootstrap.sh --with-libraries=filesystem,program_options,regex,serialization,signals,system --prefix=/usr/local/boost/1.49
$ ./b2
# ./b2 install
2) Dakota 5.4(6.0)のソースインストール
基本的に、srcパッケージのINSTALLに書いてあるとおり。
変更点は、
・BuildDakotaCustom.cmakeファイルのboostライブラリ部分を修正(コメントアウトを外してパスを指定)
・cmakeコンパイル時に、オプション追加
cmake -C $DAK_SRC/cmake/BuildDakotaCustom.cmake $DAK_SRC -DBoost_INCLUDE_DIR=/home/waku/PACKAGE/boost_1_49_0/include -DCMAKE_INSTALL_PREFIX=/usr/local/dakota-5.4.0
あとは、make/make install
3)OF連携のための修正
実際にcmakeする前に、libsampleing.soの名前をlibSampling.soに変更するため、BUILD/srcディレクトリの各種ファイルのlibsampling.soを呼ぶ分を書き換える(CMakeLink.txt, Makefile.amなど)。grepコマンドを活用しよう!
11/24追記)最新のDakota 6.1.0でも同様の手順でビルドできる。boostは1.49.0が望ましいとのこと。6.1.0からは、libsampling.soがビルドされなくなったので、上記のOF連携のための書き換えは不要っぽい。