福嶋です。 At Tue, 12 Sep 2000 03:15:27 +0900, Akinori -Aki- MUSHA <knu / idaemons.org> wrote: > > また違うことで恐縮ですが、こんなん出ました。 > > knu@archon[2]% ruby -e 'require "python"' > /dev/null > -e:1: [BUG] Segmentation fault > zsh: abort (core dumped) ruby -e 'require "python"' > /dev/null 試したところ、こちらでは再現できませんでした。 > 1.6 はすっ飛ばしちゃっていいと思います。(というのが Python 遣いの > 人たちの意見の大勢のようです) そうなんですか。 Python遣いじゃないので、知りませんでした。 > > 1. できるだけ個別の対応はしたくないので、リンクに必要な情報は > > pythonがビルドされた時のMakefileから持ってくるようにしているのです > > が、その方法では対処不可能なのでしょうか。 > > ちょっと分からないです。Python の実行バイナリを ldd して libc_r か > libpthread が出てきたら同じものをリンクする、という方法もあるかも > しれませんが、移植性という点でどうなのかな。。 FreeBSD 4.0-RELEASE のマシンで --with-thread で作ってみたら、 lib/python1.5/config/Makefileに以下のような行がありました。 LIBS= -lc_r > しかし、 pthread なライブラリと libruby をリンクして動作させて > 常に大丈夫かどうかというのは自信がないです。 > > Python 側がユーザスレッドを上げてその中で Ruby のオブジェクトに > 何らかの操作をするなんてときはまずいかも。。 ;) そこまで保証するのは無理な気がするので、「pthreadをリンクしても動く」 程度でいいんじゃないかと思います。 --- 福嶋正機