[ruby-dev:38731] FreeBSD で ruby-mecab のライブラリ参照の不具合
きしもとです
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 を
付けてみましたが変化ありませんでした。
他の拡張モジュールでも起きるのかどうかわかりませんが、確認したところの報告まで。