コンピュータ将棋が大変なことになってきました。(第二回電王戦)
次はコンピュータ囲碁の番です?
一から作るのは大変ですが、幸いFuegoというモンテカルロ木検索も実装したオープンソースの囲碁思考エンジンがあります。
これをMacにインストールするのに手間取りましたので、情報共有します。
HomeBrewにfuegoのFormulaがありますが、バージョン1.0で古いです。(投稿時点での最新公開版は1.1)そして、このFormula、少なくともMountain Lionでは通りません。
なので、fuegoのサイトから最新版をダウンロードしてコンパイルします。
0. ソース(バージョン1.1)をダウンロードします。
http://sourceforge.net/projects/fuego/
1. Fuegoをコンパイルする前に、C++ライブラリboostをインストールします。
インストールは、HomeBrewでもMacPortsでも可です。(投稿時点でのバージョンは1.53.0)
brew install boost
Fuego version 1.1はboostのV3に未対応です。
これに対応するには、ソースの修正とコンパイルオプションの指定を行います。
2. ソースを修正します。
展開したソースのgtpengine/GtpEngine.cppとgo/GoGtpEngine.cppに以下のChangesetを適用します。
http://sourceforge.net/apps/trac/fuego/changeset/1603
3. .configureします。
./configure CC="llvm-gcc -arch x86_64" CXX="llvm-g++ -arch x86_64 -fpermissive -DBOOST_FILESYSTEM_DEPRECATED" CPP="llvm-gcc -E" CXXCPP="llvm-g++ -E"
ポイントは、
a. コンパイラにllvm-gccを使うこと
/usr/bin/{cc,c++}を使うと後述の-fpermissiveオプションが認識されません。/usr/local/bin/{cc,c++,gcc,g++}を使うと実行寺にmallocエラーが出ます。
b. -fpermissive -DBOOST_FILESYSTEM_DEPRECATEDオプションを付けること
理由は、http://sourceforge.net/apps/trac/fuego/ticket/80
4. makeしてmake installします。
make
make install
Fuego推奨のGUI go-guiはHomeBrewにFormulaがあって普通にインストールできます。
追記:
Fuegoのsvn版だと、(当たり前と言えば当たり前ですが)工程の2番は不要で、代わりに
aclocal
autoheader
autoreconf -i
を実行した後、上記のconfigure以降の工程を実行すればOKです。