May 21, 2006MeCab-0.91をCygwin Rubyで[Computer]
日本語の文章をコンピュータで解析する形態素解析というツールがあります。ちょっと使う用途がでてきたので色々と触ってみているのですが、そのツールをRubyから使うためのバィンディングがうまく動いてくれません。 事の発端は以前Chasenを使っていたのですが、Chasenはあまり早くないのでより早いMeCabを使ってみることにしました。最終的にはおそらくどこかのサーバになるので、実行する環境は*NIX系のOSを想定すればいいのでしょうが、とりあえず実験環境ということでWindows+Cygwin上にMeCab-0.91をインストールしてみることにしました。 MeCab本体のインストール自体はMeCabのインストールページにあるとおりでうまくいったのですが、MeCabをRubyからコントロールするためのバィンディングがうまく動いてくれません。バィンディングのインストールは数箇所修正することでコンパイルが通っているのですが、いざサンプルコードを動かしてみようとするとコアを吐いて落ちます。 続きをどうぞ。 Rubyバィンディングのコンパイルは、extconf.rbに $LDFLAGS = '-L/usr/local/lib'
を加えることと、ruby extconf.rbをした後に生成されるMakefileの一部をLDSHARED gcc -shared -s
からLDSHARED $(CXX) -shared -s
に変更すれば、コンパイルが通るようになります。
しかしサンプルコードのtest.rbを実行しようとすると、Segmentation Fault, Abortedでruby 1.8.4が落ちてしまいます。原因として考えられるのは
どなたか同じトラブルにあわれている方はいないでしょうか? 何かありましたら是非ご一報いただきたく思います。 ※その後、Cygwinのdllを2006/6/2のスナップショットに変更したらコアを吐かなくなりました。結局、dllの読み込みに問題があったようです。変更の仕方は以前にも行ったことがあるので、参考にどうぞ。 コメント
コメントする
|
スポンサード リンク
|