CerntOS5 64bit環境にText::MeCabを導入するとmake testが通らない件

 日経Linuxの2008/2月号の特集を見ながら、SpamAssasinを導入する経過で、MeCabという形態素解析エンジンを利用するCPANモジュールText::MeCabを入れる段でつまづきました。makeやmake testが通らない。どうも64bit環境であることが問題っぽい。

 以下に解決法を書いておきます。

cpan -fi Text::MeCab

をしてエラーになった後で、/root/.cpan/build/Text-MeCab-0.20001に移動します。そこにあるMakefile.PLを編集し、

my %INFO = (
    ABSTRACT     => 'Alternative Interface To libmecab',
    AUTHOR       => 'Daisuke Maki <daisuke@endeworks.jp>',
    CCFLAGS      => $result->{cflags},
    DEFINE       => join( " ", @define ),
    DISTNAME     => 'Text-MeCab',
    INSTALLDIRS  => 'site',
    LIBS         => `mecab-config --libs`,
    NAME         => 'Text::MeCab',
    OBJECT       => '$(O_FILES)',
    PREREQ_PM    => {
    LD           => `mecab-config --cxx`,
    INC          => `mecab-config --cflags`,

てな感じで書き換えます。下2行は丸ごと追加です。後半の括りはアポストロフィではない点に注意。/usr/bin/mecab-configコマンドをパラメーター付きで実行して、その結果を渡してる訳ですね。

 一応これでmakeもmake testも通って、無事make installした訳ですが、その前に以下も試してますので、一応書いておきます。もし上記だけでダメならお試し下さい。

 mecab-0.96とmecab-ipadic-2.7.0-2007080をコンパイルする時に、64bit環境であることを明示します。

LDFLAGS='-m64'
CFLAGS='-m64'
CPPFLAGS='-m64'
CXXFLAGS='-m64'
export LDFLAGS CFLAGS CPPFLAGS CXXFLAGS

で、./configureは元記事ではファイルパスを細かく指定してたのを、シンプルに

./configure --with-charset=utf8  (mecabの時)

./configure --with-mecab-config=/usr/bin/mecab-config --with-charset=utf8 (mecab-ipadicの時)

だけにしてみました。

 ググっていくつものページを参考にしたんですが、もう色々見過ぎてとてもまとめられないので、個別リンクはご勘弁下さいませ。それぞれを執筆された方、本当にありがとうございました。

追記:

 んが、ここにsrpmが揃ってました。こっちをリビルドすれば良かったかも...

トラックバック(0)

このブログ記事を参照しているブログ一覧: CerntOS5 64bit環境にText::MeCabを導入するとmake testが通らない件

このブログ記事に対するトラックバックURL:

コメントする

このブログ記事について

このページは、古田@道具眼が2008年1月10日 16:47に書いたブログ記事です。

ひとつ前のブログ記事は「TOYOTA純正DOPナビにバックカメラをつける」です。

次のブログ記事は「電気煮込みなべ ファーストインプレ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ

ウェブページ



Powered by Movable Type 4.21-ja