[ruby-dev:38736] Re: FreeBSD で ruby-mecab のライブラリ参照の不具合
せいけです。
# 環境も違いますし、とりあえず情報だけの提供です。
FreeBSD i386で今日MeCab関係はインスールしたのですが、
動いているようです。amd64の問題でしょうか?
インストールしたportsは以下です。
ja-mecab-0.97
ja-mecab-ipadic-2.7.0.20070801
ja-ruby18-mecab-0.97
# uname -a
FreeBSD rx.seike.org 7.2-STABLE FreeBSD 7.2-STABLE #0: Sun Jul 5 02:58:46 JST 2009<省略>
# ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-freebsd7]
# nm /usr/local/lib/libmecab.so.1|grep _ZN5MeCab12create
0004f020 T _ZN5MeCab12createTaggerEPKc
0004f390 T _ZN5MeCab12createTaggerEiPPc
# nm /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd7/MeCab.so |grep _ZN5MeCab12create
U _ZN5MeCab12createTaggerEPKc
# ldd /usr/local/lib/ruby/site_ruby/1.8/i386-freebsd7/MeCab.so
/usr/local/lib/ruby/site_ruby/1.8/i386-freebsd7/MeCab.so:
libruby18.so.18 => /usr/local/lib/libruby18.so.18 (0x28300000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x283db000)
libmecab.so.1 => /usr/local/lib/libmecab.so.1 (0x284d0000)
libcrypt.so.4 => /lib/libcrypt.so.4 (0x28199000)
libm.so.5 => /lib/libm.so.5 (0x281b2000)
libc.so.7 => /lib/libc.so.7 (0x28089000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x281c7000)
libthr.so.3 => /lib/libthr.so.3 (0x281d2000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28613000)
# ldd /usr/local/lib/libmecab.so.1
/usr/local/lib/libmecab.so.1:
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28443000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x28538000)
libm.so.5 => /lib/libm.so.5 (0x2818c000)
libc.so.7 => /lib/libc.so.7 (0x28089000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x281a1000)
# ruby /usr/local/share/examples/ruby18/mecab/test.rb
0.97
...
filename: /usr/local/lib/mecab/dic/ipadic/sys.dic
charset: euc-jp
size: 392126
type: 0
lsize: 1316
rsize: 1316
version: 102
At Sat, 4 Jul 2009 20:26:51 +0900,
KISHIMOTO, Makoto wrote:
>
> test.rb は ruby-mecab の配布物の中の test.rb です
>
> > この結果はどうなりますか?
> >
> > % strings /usr/local/lib/ruby/site_ruby/1.8/amd64-freebsd7/MeCab.so | grep _ZN5MeCab
> > % strings /usr/local/lib/libmecab.so.1 | grep _ZN5MeCab12
> > % mecab-config --version