Ubuntu 10.04にMeCabをインストール

Ubuntu 10.04(Lucid)に日本語の形態素解析ツール『MeCab』をインストールしてみました。


その際に、詰まった点がひとつだけあったので、
(主に自分用メモとして)インストール方法を書いときます。


ダウンロード

MeCab - Browse Files at SourceForge.net
こちらから次の2つのファイルをダウンロードします。

  • mecab-0.98.tar.gz -- 本体
  • mecab-ipadic-2.7.0-20070801.tar.gz -- 辞書ファイル

そして、ダウンロードしたものを展開

$ tar zxf mecab-0.98.tar.gz
$ tar zxf mecab-ipadic-2.7.0-20070801.tar.gz

インストール

MeCab
$ cd mecab-0.98
$ ./configure
$ make
$ sudo make install
IPA辞書】
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure
$ make
$ sudo make install

ここで、make の実行時に次のようなエラーが発生した場合は、

$ make
/usr/local/libexec/mecab/mecab-dict-index -d . -o . -f EUC-JP -t utf8
/usr/local/libexec/mecab/mecab-dict-index: error while loading shared libraries: libmecab.so.1: cannot open shared object file: No such file or directory
make: *** [matrix.bin] エラー 127

これから説明することを試してみてください。





《/etc/ld.so.conf を編集》

mecab をインストールしただけの状態では、IPA辞書のインストール時に libmecab.so.1 が見つからないというエラーが発生する。 libmecab.so.1 は /usr/local/lib/libmecab.so.1 にインストールされているが、標準設定では /usr/local/lib/ 配下のライブラリが読み込まれないようになっている。

と、こちらの記事で紹介されている通りの事態になっちゃってます。

なので、同じく上記の記事で紹介されていた方法ですが、

/etc/ld.so.conf

に、この1行を追加します。

/usr/local/lib

私の環境では結果的に /etc/ld.so.conf は次のようになりました。

$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
/usr/local/lib

そして、ldconfig コマンドを実行してライブラリ読み込みのパスを更新してください。

$ sudo ldconfig



再び make

以上がうまく行けば、先程の make が通るはず・・です。

$ make
$ sudo make install

また、makeの際にこんなことを言われるかもしれませんが、

echo To enable dictionary, rewrite /usr/local/etc/mecabrc as \"dicrc = /usr/local/lib/mecab/dic/ipadic\"
To enable dictionary, rewrite /usr/local/etc/mecabrc as "dicrc = /usr/local/lib/mecab/dic/ipadic"

既に /usr/local/etc/mecabrc には相応の設定がなされているため、問題ないようです。

参考までに私の環境のものを晒しておきます。

cupnes@endo:~$ cat /usr/local/etc/mecabrc
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
dicdir =  /usr/local/lib/mecab/dic/ipadic

; userdic = /home/foo/bar/user.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n

動作確認

インストールまでがうまくいけば、
こんな感じで実行できるはずです。

$ echo "これはテストです。" | mecab
これ    名詞,代名詞,一般,*,*,*,これ,コレ,コレ
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
テスト  名詞,サ変接続,*,*,*,*,テスト,テスト,テスト
です    助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。      記号,句点,*,*,*,*,。,。,。
EOS


mecabコマンドのコマンドラインオプションについてはこちらが詳しいです。