« Return to Thread: [ruby-dev:38731] FreeBSD で ruby-mecab のライブラリ参照の不具合

[ruby-dev:38731] FreeBSD で ruby-mecab のライブラリ参照の不具合

by Makoto Kishimoto :: Rate this Message:

Reply to Author | View in Thread

きしもとです

FreeBSD7.2 (RELENG_7) で、CVS から取ってきた ports を使っています。
Ruby のバージョンは
$ ruby --version
ruby 1.8.7 (2009-04-08 patchlevel 160) [amd64-freebsd7]
となっています。

ruby-mecab のビルドで、

[/usr/ports/japanese/ruby-mecab]$ make configure
===>   ja-ruby18-mecab-0.97 depends on file: /usr/local/bin/ruby18 - found
===>   ja-ruby18-mecab-0.97 depends on shared library: mecab.1 - found
===>  Configuring for ja-ruby18-mecab-0.97
===>  Running extconf.rb to configure
checking for main() in -lmecab... no
checking for main() in -lstdc++... yes
checking for mecab.h... yes
creating Makefile

と、MeCab のシェアードライブラリは入っているのですが、extconf.rb からは
見えておらず、ビルドは成功するのですが、mecab を使おうとすると、

$ ruby test.rb
0.97
/libexec/ld-elf.so.1: /usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd7/MeCab.so: Undefined symbol "_ZN5MeCab12createTaggerEPKc"

のように、ダイナミックリンクに失敗します。LD_LIBRARY_PATH=/usr/local/lib を
付けてみましたが変化ありませんでした。

他の拡張モジュールでも起きるのかどうかわかりませんが、確認したところの報告まで。

 « Return to Thread: [ruby-dev:38731] FreeBSD で ruby-mecab のライブラリ参照の不具合