MacOSX10.6でgroongaをソースからインストールする

全文検索エンジンgroongaをMacOSXにインストールする手順をメモ。環境はMacOSX10.6.6とgrooonga-1.1.0です。(MacPorts/Homebrewを使えばもっと楽にインストールできるかもです。一番最後の追記部分を参照してください。groongaの依存ライブラリについての理解を助けるためのメモとしてエントリの内容自体は残しておこうと思います。)

1.ソースを手に入れる

groongaはまだ始まって間もないプロジェクトですのでportなどではインストールできません。(homebrewは知りません...) groongaのソースを手に入れるにはgitリポジトリのmasterから取ってくるか、http://groonga.org/download/からパッケージングされたアーカイブをダウンロードするかのどっちかになります。

gitリポジトリから取得する(masterからcloneする)には以下のようにする。

$ git clone http://github.com/groonga/groonga.git

ソースをwebからダウンロードした場合は解凍するだけでOK

2. 依存ライブラリのインストール

groongaをまともに使うとなると形態素解析ライブラリMeCablibeventZeroMQMessagePackが必要です。MacPortsを使ってこれらを簡単にインストールすることができますが、私がやってみたところMeCabについてはエンコーディングがgroongaが想定しているUTF-8にならず、MeCabだけソースで入れたほうが良好に動作しました。(groongaコミッタの須藤さんが自分のぼやきをtwitterで発見してくださり、さらにユーザフレンドリな修正をgroonga本体にもあててくださいました。感謝。)

まずMecabを他のライブラリとは個別にソースからインストールします。MeCabのソースはMeCabのページのダウンロードのセクションからダウンロードできます。このエントリを書いている時点ではmecab-0.98.tar.gzとなってます。

これをサクっとconfigure > make > make installのいつもの流れでインストールします。

$ tar xvzf ./mecab-0.98.tar.gz
$ cd ./mecab-0.98
$ ./configure
$ make
$ sudo make install

/usr/local/bin/mecabが生まれますので、/usr/local/binにPATHを通してないとmecabとコマンドを叩いたときにcommand missingになるかと思います。

今インストールしたMeCabそのものは形態素解析のエンジン部分で、実際にわかち書きをさせるには形態素の辞書情報が必要なようです。この辞書にUTF-8を使うのが重要っぽいです。デフォルトではEUC-JPで辞書が構築されるようですが、configureオプションを付け加えてやることでUTF-8で構築させることができます。(MeCabのページの「高度な使い方」セクションを参照) ダウンロードする辞書セットのアーカイブMeCabのページのダウンロードのセクションにあるIPA辞書です。

$ tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure --with-charset=utf8
$ make
$ sudo make install

とくにコンパイルっぽい処理はないのでconfigureもmakeもすぐ終わります。これでMeCabはバッチリインストールできているはずで、mecab -Dでcharsetがutf8になっていればOKっぽいです。


$ mecab -D
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic
version: 102
charset: utf8
type: 0
size: 392126
left size: 1316
right size: 1316

これでMeCabのインストールはおしまい。

libevent, ZeroMQ, MessagePackはportでインストールしました。

$ sudo port install zmq msgpack libevent

簡単でいいですね。portしばらく使ってなかった人はsudo port selfupdateを実行してport treeを更新しておいたほうがいいかもしれないですね。

これでMeCab, libevent, ZeroMQ, MessagePackを用意できました。

3. configure

$ ./configure --with-mecab=/usr/local --with-libevent=/opt/local --with-message-pack=/opt/local --with-zmq=/opt/local 

もしかしたら--with-mecabはなくてもいけるかもしれません。configureが終わったら最後の方にちゃんと設定できているかの確認が出ますので、もろもろのライブラリがYesになってればOKかと思います。

4. make && make install

# groongaのソースディレクトリの中で
$ make
$ sudo make install

おしまい!

追記:

groongaチームの方でMacPortsのportsファイル?を準備してくださっているようでした!こちらを使うと簡単にインストールできそうですね。使い方のドキュメントも教えていただきました。こちらのドキュメントにHomebrewの場合:brew install groongaと書かれているのでHomebrewでも簡単にインストールできそうです。groonga始まりつつあるな!