弁財天

ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」

Text::MeCabの導入

http://mecab.sourceforge.jp からmecab-0.97.tar.gzをダウンロードしてビルド
$ ./configure --with-charset=utf8
mecab-ipadic-2.7.0-20070801.tar.gz をダウンロードして char.defを編集
# ASCII
#0x0021..0x002F SYMBOL
#0x0030..0x0039 NUMERIC
#0x003A..0x0040 SYMBOL
#0x0041..0x005A ALPHA
#0x005B..0x0060 SYMBOL
#0x0061..0x007A ALPHA
#0x007B..0x007E SYMBOL
0x0021..0x007E ALPHA

$ ./configure --with-charset=utf8
Text::MeCabを http://search.cpan.org/~dmaki/Text-MeCab/ からダウンロードして導入
$ perl Makefile.PL
$ make
$ make test
しかし、make testでエラー発生。
Error:  Can't load '/somewhere/Text-MeCab-0.20004/blib/arch/auto/Text/MeCab/MeCab.so'
for module Text::MeCab: somewhere/Text-MeCab-0.20004/blib/arch/auto/Text/MeCab/MeCab.so:
undefined symbol: mecab_strerror at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.# at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 26
/usr/local/lib/libmecab.soがうまく拾えない。
/etc/ld.so.conf.d/mecab.confを作成し
/usr/local/lib
を記述する。
perl Makefile.PLで生成されたMakefileを修正して解決する。
EXTRALIBS = -lstdc++ -L/usr/local/lib -lmecab
LDLOADLIBS = -lstdc++ -L/usr/local/lib -lmecab
$ make
$ make test
$ make install
/etc/mail/spamassassin/tokenizer.pre をメカブを使うように編集する。
# cat tokenizer.pre
# Tokenizer::SimpleJA
#loadplugin Mail::SpamAssassin::Plugin::Tokenizer::SimpleJA
# Tokenizer::MeCab
loadplugin Mail::SpamAssassin::Plugin::Tokenizer::MeCab
投稿されたコメント:

コメント
コメントは無効になっています。