From: matz@... (Yukihiro Matsumoto) Date: 1998-04-23T11:46:38+09:00 Subject: [ruby-dev:2479] Re: undef HAVE_RANDOM in case of Linux (with libc5) まつもと ゆきひろです In message "[ruby-dev:2472] undef HAVE_RANDOM in case of Linux (with libc5)" on 98/04/22, Kazunori NISHI writes: |西@九大です。 | |`srand' 後の一回目の `rand' が偏った値を出すので、いろいろ調べてみると、 |Linux の libc.so.5 にある initstate が怪しいような気がしてきました。 |HAVE_RANDOM を undef するか、libc.so.6 だとうまくいきます。 ふーむ.そうですか. |configure の事はよくわからないのですが、libc のバージョンとかもわかる |のでしょうか? Linux のパッケージは libc5 の方がまだ多いと思いますので、 |御報告まで。 えーとruby付属のconfigure(正確にはconfig.guess)はその判定を していません.新しいものは判定しているようですが,結局は__ GLIBC__というシンボルが定義されているか,その値が2以上である かということを使っているようです. ということで,どなたかlinuxでlibc5をお使いの方はrandomに問題 のあるlibcで __GLIBC__ が定義されているかどうか,そして定義されているならばその値は なんであるかを教えて頂けませんでしょうか.たとえば以下のよう な手順でどうでしょう. % cat>/tmp/f.c #ifdef __GLIBC__ __GLIBC__ #else no __GLIBC__ #endif ^D % gcc -E f.c これの表示を見れば分かるでしょう. まつもと ゆきひろ /:|)