福嶋です。

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をリンクしても動く」
程度でいいんじゃないかと思います。

---
福嶋正機