スクリプト言語のバインディング

細かいことはよくわからないけど、RubyからMeCabを使うにはこの作業が必要らしいのでやった。
ちなみにRubyの他にはPythonPerlJavaからの利用が可能らしい。
他の言語からはわかりません。。。
詳細:http://mecab.sourceforge.net/bindings.html

0.材料のダウンロード

http://downloads.sourceforge.net/mecab/mecab-ruby-0.95.tar.gz
ここからダウンロードして適当なフォルダに入れとく。
ちなみに毎度のように/usr/local/src/mecabに入れたのでご承知を。

1.インストール

ぶっちゃけ詳細はダウンロードしたのを展開したフォルダ内にある
READMEを読めば文字の読める猿であればわかる。ただの猿にはわからないが。
が、諸事情によりうまくいかなかったのでログを書く。

まず基本的な手順。

$ ruby extconf.rb
$ make
$ sudo make install

これがマニュアルのやり方。
で、実際にやった方法。

$ sudo tar zxfv mecab-ruby-0.95.tar.gz
$ cd mecab-ruby-0.95
$ ruby extconf.rb
extconf.rb:1: command not found: mecab-config --libs-only-l
extconf.rb:1: command not found: mecab-config --cflags
checking for mecab.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

こんな感じでextconf.rbが実行できない。
mecab-configがどこにあるかわからないとのことなので、
最初は↓みたいな感じでやってみた。

$ sudo ruby extconf.rb --with-mecab-confg=/usr/local/bin/mecab-config

しかし、これの実行結果は、

extconf.rb:1: command not found: mecab-config --libs-only-l
extconf.rb:1: command not found: mecab-config --cflags
checking for mecab.h... yes
creating Makefile

となってしまい、根本的に解決してないと判断したので、vimを使って修正。

$ sudo vim extconf.rb

ファイル中上から3、4行目の'mecab-config'となっている合計3つと
6行目の`mecab-config --hoge....という部分の『mecab-config』を
全部『/usr/loca/bin/mecab-config』と変更する。
あとは保存してvimを終了させる。

$ sudo ruby extconf.rb
checking for main() in -lmecab... yes
checking for main() in -lstdc++... yes
checking for mecab.h... yes
creating Makefile

と今回は上手くいった様子。

$ sudo make
$ sudo make install

これでインストール自体は完了。
次に動作確認で同じパッケージ中に含まれるtest.rbを実行してみる。

$ ruby test.rb
0.95
太郎    名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
は      助詞,係助詞,*,*,*,*,は,ハ,ワ
この    連体詞,*,*,*,*,*,この,コノ,コノ
本      名詞,一般,*,*,*,*,本,ホン,ホン
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
二郎    名詞,固有名詞,一般,*,*,*,二郎,ニロウ,ニロー
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
見      動詞,自立,*,*,一段,連用形,見る,ミ,ミ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
女性    名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ
渡し    動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
。      記号,句点,*,*,*,*,。,。,。
EOS
        BOS/EOS,*,*,*,*,*,*,*,* 0
太郎    名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー    8308
は      助詞,係助詞,*,*,*,*,は,ハ,ワ    9237
この    連体詞,*,*,*,*,*,この,コノ,コノ 9346
本      名詞,一般,*,*,*,*,本,ホン,ホン  13811
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 13094
二郎    名詞,固有名詞,一般,*,*,*,二郎,ニロウ,ニロー     18835
を      助詞,格助詞,一般,*,*,*,を,ヲ,ヲ 19322
見      動詞,自立,*,*,一段,連用形,見る,ミ,ミ    23338
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ   20625
女性    名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ        23008
に      助詞,格助詞,一般,*,*,*,に,ニ,ニ 22871
渡し    動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ      25639
た      助動詞,*,*,*,特殊・タ,基本形,た,タ,タ   25006
。      記号,句点,*,*,*,*,。,。,。      21081
        BOS/EOS,*,*,*,*,*,*,*,* 19505
EOS
B[0] 太郎       名詞,固有名詞,地域,一般,*,*,太郎,タロウ,タロー
B[0] 太郎       名詞,固有名詞,人名,名,*,*,太郎,タロウ,タロー
B[0] 太 名詞,固有名詞,地域,一般,*,*,太,タイ,タイ
B[0] 太 動詞,自立,*,*,五段・ラ行,体言接続特殊2,太る,フト,フト
B[0] 太 名詞,固有名詞,人名,名,*,*,太,フトシ,フトシ
B[0] 太 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,太い,フト,フト
E[0]    BOS/EOS,*,*,*,*,*,*,*,*
B[3] 郎 名詞,一般,*,*,*,*,郎,ロウ,ロー
E[3] 太 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,太い,フト,フト
B[6] はこ       動詞,自立,*,*,五段・カ行イ音便,未然ウ接続,はく,ハコ,ハコ
B[6] は 動詞,非自立,*,*,五段・ラ行,体言接続特殊2,はる,ハ,ハ
B[6] は 助詞,係助詞,*,*,*,*,は,ハ,ワ
B[6] は 動詞,自立,*,*,五段・ラ行,体言接続特殊2,はる,ハ,ハ
E[6] 郎 名詞,一般,*,*,*,*,郎,ロウ,ロー
B[9] この       連体詞,*,*,*,*,*,この,コノ,コノ
B[9] こ 動詞,非自立,*,*,カ変・クル,未然形,くる,コ,コ
B[9] こ 動詞,自立,*,*,カ変・クル,未然形,くる,コ,コ
B[9] こ 動詞,自立,*,*,五段・ラ行,体言接続特殊2,こる,コ,コ
B[9] こ 動詞,非自立,*,*,五段・カ行促音便,未然ウ接続,く,コ,コ
B[9] こ 名詞,一般,*,*,*,*,こ,コ,コ
B[9] こ 形容詞,自立,*,*,形容詞・アウオ段,ガル接続,こい,コ,コ
E[9] は 動詞,自立,*,*,五段・ラ行,体言接続特殊2,はる,ハ,ハ
B[12] の        動詞,自立,*,*,五段・ラ行,体言接続特殊2,のる,ノ,ノ
B[12] の        助詞,終助詞,*,*,*,*,の,ノ,ノ
B[12] の        助詞,連体化,*,*,*,*,の,ノ,ノ
B[12] の        助詞,格助詞,一般,*,*,*,の,ノ,ノ
B[12] の        名詞,非自立,一般,*,*,*,の,ノ,ノ
E[12] こ        形容詞,自立,*,*,形容詞・アウオ段,ガル接続,こい,コ,コ
B[15] 本        名詞,固有名詞,地域,一般,*,*,本,ホン,ホン
B[15] 本        名詞,接尾,助数詞,*,*,*,本,ホン,ホン
B[15] 本        接頭詞,名詞接続,*,*,*,*,本,ホン,ホン
B[15] 本        名詞,固有名詞,人名,姓,*,*,本,モト,モト
B[15] 本        名詞,一般,*,*,*,*,本,ホン,ホン
E[15] の        名詞,非自立,一般,*,*,*,の,ノ,ノ
B[18] を        助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
E[18] 本        名詞,一般,*,*,*,*,本,ホン,ホン
B[21] 二郎      名詞,数,*,*,*,*,*
B[21] 二郎      名詞,固有名詞,一般,*,*,*,二郎,ニロウ,ニロー
B[21] 二郎      名詞,固有名詞,人名,名,*,*,二郎,ジロウ,ジロー
B[21] 二        名詞,固有名詞,地域,一般,*,*,二,フタ,フタ
B[21] 二        名詞,数,*,*,*,*,二,ニ,ニ
E[21] を        助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
B[24] 郎        名詞,一般,*,*,*,*,郎,ロウ,ロー
E[24] 二        名詞,数,*,*,*,*,二,ニ,ニ
B[27] を        助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
E[27] 郎        名詞,一般,*,*,*,*,郎,ロウ,ロー
B[30] 見        名詞,固有名詞,地域,一般,*,*,見,ミル,ミル
B[30] 見        動詞,自立,*,*,一段,未然形,見る,ミ,ミ
B[30] 見        動詞,自立,*,*,一段,連用形,見る,ミ,ミ
E[30] を        助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
B[33] た        動詞,非自立,*,*,五段・ラ行,体言接続特殊2,たる,タ,タ
B[33] た        動詞,自立,*,*,五段・ラ行,体言接続特殊2,たる,タ,タ
B[33] た        助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
B[33] た        助動詞,*,*,*,特殊・タイ,ガル接続,たい,タ,タ
E[33] 見        動詞,自立,*,*,一段,連用形,見る,ミ,ミ
B[36] 女性      名詞,一般,*,*,*,*,女性,ジョセイ,ジョセイ
B[36] 女        名詞,接尾,助数詞,*,*,*,女,ジョ,ジョ
B[36] 女        接頭詞,名詞接続,*,*,*,*,女,ジョ,ジョ
B[36] 女        名詞,一般,*,*,*,*,女,オンナ,オンナ
E[36] た        助動詞,*,*,*,特殊・タイ,ガル接続,たい,タ,タ
B[39] 性        名詞,接尾,一般,*,*,*,性,セイ,セイ
B[39] 性        名詞,一般,*,*,*,*,性,セイ,セイ
E[39] 女        名詞,一般,*,*,*,*,女,オンナ,オンナ
B[42] に        動詞,自立,*,*,一段,連用形,にる,ニ,ニ
B[42] に        動詞,自立,*,*,一段,未然形,にる,ニ,ニ
B[42] に        助詞,副詞化,*,*,*,*,に,ニ,ニ
B[42] に        助詞,特殊,*,*,*,*,に,ニ,ニ
B[42] に        助詞,格助詞,一般,*,*,*,に,ニ,ニ
E[42] 性        名詞,一般,*,*,*,*,性,セイ,セイ
B[45] 渡し      動詞,自立,*,*,五段・サ行,連用形,渡す,ワタシ,ワタシ
B[45] 渡し      名詞,一般,*,*,*,*,渡し,ワタシ,ワタシ
B[45] 渡        動詞,自立,*,*,五段・ラ行,体言接続特殊2,渡る,ワタ,ワタ
B[45] 渡        名詞,固有名詞,地域,一般,*,*,渡,ド,ド
B[45] 渡        名詞,固有名詞,人名,姓,*,*,渡,ワタリ,ワタリ
B[45] 渡        名詞,固有名詞,人名,名,*,*,渡,ワタル,ワタル
E[45] に        助詞,格助詞,一般,*,*,*,に,ニ,ニ
B[48] した      名詞,一般,*,*,*,*,した,シタ,シタ
B[48] し        動詞,自立,*,*,サ変・スル,未然形,する,シ,シ
B[48] し        動詞,自立,*,*,サ変・スル,連用形,する,シ,シ
B[48] し        動詞,接尾,*,*,五段・サ行,連用形,す,シ,シ
B[48] し        助詞,接続助詞,*,*,*,*,し,シ,シ
B[48] し        動詞,自立,*,*,五段・ラ行,体言接続特殊2,しる,シ,シ
B[48] し        助動詞,*,*,*,文語・キ,体言接続,き,シ,シ
E[48] 渡        名詞,固有名詞,人名,名,*,*,渡,ワタル,ワタル
B[51] た        動詞,非自立,*,*,五段・ラ行,体言接続特殊2,たる,タ,タ
B[51] た        動詞,自立,*,*,五段・ラ行,体言接続特殊2,たる,タ,タ
B[51] た        助動詞,*,*,*,特殊・タ,基本形,た,タ,タ
B[51] た        助動詞,*,*,*,特殊・タイ,ガル接続,たい,タ,タ
E[51] し        助動詞,*,*,*,文語・キ,体言接続,き,シ,シ
B[54] 。        名詞,サ変接続,*,*,*,*,*
B[54] 。        記号,句点,*,*,*,*,。,。,。
E[54] た        助動詞,*,*,*,特殊・タイ,ガル接続,たい,タ,タ
B[57]   BOS/EOS,*,*,*,*,*,*,*,*
E[57]   BOS/EOS,*,*,*,*,*,*,*,*
EOS
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic
charset: utf-8
size: 378914
type: 0
lsize: 1316
rsize: 1316
version: 102

と成功したっぽい。
今度こそお疲れちゃんだと思われる。
結論としてはmake待ちの時間はドキドキだってあたり。