MeCab Perl PPM その後2006年03月12日 05時32分54秒

Windows + ActivePerl の環境で、MeCab の Perl バインドをコンパイルできるようになりました。 詳細は後日まとめなおします。以下は、メモ書き程度のものです。

MeCab および辞書(EUC-JP)をインストールし、mecab.exe が動作することを確認します。

http://search.cpan.org/~mbarbon/ExtUtils-FakeConfig-0.06/lib/ExtUtils/FakeConfig.pm

をまずインストールします。 (注意: この時、dumpbin.exe が必要でした。)

次に \Migw\bin と nmake.exe 等のパスを通して、通常のコマンドプロンプトを開きます。 mecab-perl-0.90rc10 に移動し、Makefile.PL の中の mecab-config を使っている部分を書き換えます。

$ perl -MConfig_m Makefile.PL

生成された Makefile の libmecab.a のところを -lmecab に書き換えて

$ nmake
$ nmake test
$ nmake install

で、MeCab Perl モジュールが動作しました。

コメント

_ aopico ― 2007年01月18日 13時19分03秒

はじめまして。よろしければ、"Makefile.PLの中の mecab-config を使っている部分を書き換えます" の部分で、どう書き換えるとうまくいくか教えていただけませんか?

_ opengl2772 ― 2007年01月18日 15時38分24秒

Makefile.PL の中の `....` のところはコマンドを呼び出して得られた結果を使うところですが、MinGW環境ではコマンドの呼び出しができません。

このため、`....` の中身をコマンドラインから実行して得られた結果を直接Makefile.PL に設定します。

なお、コンパイルが面倒ならコンパイル済みの PPM を用意していますので、PPMからインストールしてください。

_ aopico ― 2007年01月18日 16時46分17秒

お返事ありがとうございます。

PPMは無事インストールできまして、活用させていただいております。ご提供ありがとうございます。

以下は私の勉強のための質問になってしまいます。すみません。Mecab本体のソースを MinGW+MSYS 環境で configure し、その時に生成される mecab-config の中を参照しましてMakefile.PLに設定してみたものの、nmake で syntax error となってしまいました。よろしければ、うまく nmake の通る設定情報を教えていただけると大変嬉しく思います。

_ opengl2772 ― 2007年01月18日 18時05分01秒

具体的にはどのような内容の Makefile.PL を用いたのでしょう?

_ anonymous ― 2007年01月19日 12時18分21秒

use ExtUtils::MakeMaker;
WriteMakefile(
'NAME' => 'MeCab',
'CC' => 'g++',
'LD' => 'g++',
'INC' => '-I/usr/local/include',
'LIBS' => '-L/usr/local/lib -lmecab -lstdc++',
'VERSION' => '0.93',
'OBJECT' => 'MeCab_wrap.o'
);

をMakefile.PLとして保存し、その後『perl -MConfig_m Makefile.PL』を実行。そのままの状態で nmake を起動すると
syntax error at -e line 1, next char )
Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
と出てしまいました。Makefile中に libmecab.a の文字列は見当たりませんでした。
Mecab のバージョンは、本体・Perlバインディング共に0.93です。

_ opengl2772 ― 2007年01月19日 16時14分10秒

Makefile を作成する時にはエラーは発生しなかったのでしょうか?
ExtUtils-FakeConfig が正しくインストールされていないか、nmake の問題か、編集した Makefile.PL に全角文字等が含まれていて生成された Makefile がおかしいか等、いろいろ原因は考えられます。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://namazu.asablo.jp/blog/2006/03/12/286404/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。