MinGW + MSYS 環境で MeCab (Perl モジュールも含め)をビルドする

ExtUtils::FakeConfig までは Kakasi と共通。

  • MeCab のインストール

http://mecab.sourceforge.net/ からダウンロードする。
MeCab 自体は ./configuremakemake install で何事もなくインストールすることができるのだが、このままだと Perl モジュールのビルドに失敗してしまうため、MinGw における MeCab のシェアードライブラリの問題: ナマズのブログを参考に mecab.h を修正する。具体的には、(MeCab 0.96 では)119 行目あたりにある条件式を書き換える。
あとは、

./configure
make
make install

で完了。

  • 辞書のインストール

辞書は簡単。

./configure
make
make install

だけ。

Makefile.PL 内で mecab-config を呼ぶようになっているが、どうも Perl からは呼び出せずエラーになってしまうようなので、MSYS 上で mecab-config --cxx などを実行してその結果を貼付けてしまう。が、ここでも /usr/local/include などのファイルをなぜか見つけてくれないので、実行結果を貼付けつつ内容を修正する。具体的には

use ExtUtils::MakeMaker;
WriteMakefile(
'NAME' => 'MeCab',
'CC' => 'g++',
'LD' => 'g++',
'INC' => '-Ie:\msys\1.0\local\include',
'LIBS' => '-Le:\msys\1.0\local\lib -lmecab',
'VERSION' => '0.96',
'OBJECT' => 'MeCab_wrap.o'
);

こんな感じになる。あとは、

perl -MConfig_m Makefile.PL
nmake
nmake install

でビルド完了。