Wednesday, December 2, 2009

[備忘録] Mac OS X 10.6 Snow Leopard への Cabocha インストール

Mac OS X 10.6 (Snow Leopard) への Mecab, Cabocha などのインストールメモ。

1. インストールファイルの準備
今回インストールしたファイルは、以下の通り。
- mecab-0.98
- mecab-ipadic-2.7.0-20070801
- CRF++-0.53
- cabocha-0.60pre4
- TinySVM-0.09
- yamcha-0.33


2. MeCab のインストール --prefix オプションは、インストール先ディレクトリを変更したい場合に指定。
$ ./configure --prefix=<Install directory> --with-charset=utf8
$ make
$ make install
もし、この make の時点で、libiconv に関するエラーがあった場合、src/Makefile の LIBS で libiconv のあるパスを明示的に指定した方が良い。ただし、Mac OS X 10.6 Snow Leopard 標準の libiconv でエラー(Reference error)になるようであれば、MacPort などで iconv をインストールし、そちらをリンク先とした方が良いかも。


3. IPA 辞書のインストールと UTF-8 化
$ ./configure --prefix=<Install directory> --with-charset=utf-8
$ make
$ make install
- 辞書を、UTF-8 に対応させるために以下を実行
<Install directory>/libexec/mecab/mecab-dict-index -f euc-jp -t utf-8
このとき、mecab-config が見つからないと怒られた場合は、
$ export PATH=<Install directory>/bin:$PATH などとして、パスを通す。


4. CRF++ のインストール
$ ./configure --prefix=<Install directory>
$ make
$ make install


5. Cabocha のインストール
$ ./configure --prefix=<Install directory> --with-charset=utf8
$ make
$ make install

いきなり、crfpp.h が見つからないと怒られたので、Makefile にインクルードパスを追加。
$ vi src/Makefile
DEFAULT_INCLUDES = -I. -I$(top_builddir)
上記のようになっているのを、下記のように変更。
DEFAULT_INCLUDES = -I. -I<Install directory>/include -I$(top_builddir)

この場合、 CPPFLAGS の値を変更しても大丈夫なはず。

$ vi src/Makefile
CPPFLAGS =
下記のように変更。
CPPFLAGS = <Install directory>/include
そして、make を再度実行すると、今度は、iconv (libiconv) が無いと怒られたので、Makefile の CABOCHA_LIBS と LIBS の値を修正。

$ vi src/Makefile
CABOCHA_LIBS と LIBS の2点を変更。
CABOCHA_LIBS = -lcrfpp -lmecab -L<Install directory>/lib -lmecab -lstdc++
上記のようになっているので、下記のように変更。
CABOCHA_LIBS = -lcrfpp -lmecab -L<Install directory>/lib -lmecab -lstdc++ -liconv

LIBS = -lcrfpp -lmecab -L<Install directory>/lib -lmecab -lstdc++
上記を下記のように変更。
LIBS = -lcrfpp -lmecab -L<Install directory>/lib -lmecab -lstdc++ -liconv


6. TinySVM のインストール
$ ./configure --prefix=<Install directory>
$ vi config.h
config.h (の末尾) に“#define __GNU_LIBRARY__ 1”を追記。 これは getopt() の重複などへの対策。

$ vi libtool
184行目にある “\$CC” を “c++” へと変更。名前解決の際に発生する不具合への対策として必要みたい。

$ make
$ make install


7. Yamcha のインストール
$ ./configure --prefix=<Install directory> --with-svm-learn=<Install directory>/bin
$ make
$ make install


[参考にしたサイト/エントリ]
http://blogs.dion.ne.jp/moe_moe/archives/7083664.html
http://quruli.ivory.ne.jp/diary/?date=20061010

No comments: