こんばんは。

 今日も引き続き Ruby 1.6 での各種モジュールの動作チェックを
やっているのですが、 Ruby/Python が Ruby 1.6 でうまく動かない
のを見つけました。

knu@archon[2]% uname -a
FreeBSD archon.local.idaemons.org 5.0-CURRENT FreeBSD 5.0-CURRENT #53: Sat Sep  9 13:55:04 JST 2000     root / archon.local.idaemons.org:/usr/local/src/sys/compile/ARCHON  i386
knu@archon[2]% ruby -v
ruby 1.6.0 (2000-09-04) [i386-freebsd5.0]
knu@archon[2]% python -c 'import sys; print sys.version'    
1.5.2 (#2, Sep 10 2000, 16:43:36)  [GCC 2.95.2 19991024 (release)]

という環境で付属の html.rb を実行すると、

knu@archon[2]% ruby /usr/local/share/examples/ruby/python/html.rb http://www/
/usr/libexec/ld-elf.so.1: /usr/local/lib/ruby/site_ruby/1.6/i386-freebsd5.0/python.so: Undefined symbol "rb_obj_equal"

と文句を言われます。Ruby 1.4 ではうまく動きますし、 Ruby 1.4 の
libruby.so を preload して

knu@archon[2]% LD_PRELOAD=/usr/local/lib/libruby14.so ruby /usr/local/share/examples/ruby/python/html.rb http://www/

とやると動くので、 Ruby 1.4 と 1.6 の違いが原因なのはほぼ間違い
ないようです。

 当然ですが、 python.so はちゃんと Ruby 1.6 の libruby とリンク
して作っています。

 ちょっと調べてみていただけますでしょうか? > 福嶋さん

		*		*		*

P.S.:
 FreeBSD ports では Ruby 1.4/1.6 (および任意の複数バージョン)の
共存を全モジュールの ports を含めてサポートしたので、動作検証や
問題の切り分けが楽になりました。

 FreeBSD ユーザの方はぜひ最新の ports にアップグレードしてみて
ください。 :)

 モジュールもまたいろいろ増えたので、後ほどまとめて投げます。

-- 
                           /
                          /__  __       
                         / )  )  ) )  /
Akinori -Aki- MUSHA aka / (_ /  ( (__(  @ idaemons.org / FreeBSD.org

"We're only at home when we're on the run, on the wing, on the fly"