岩岡です。

BSD/OS に限った話のようで、続けてしまってごめんなさい。

In message <19981211084157W.kyamada / hitachi-densa.co.jp>
	Yamada Kenji <kyamada / hitachi-densa.co.jp> writes:
> 多分最新のものを使っているとは思いますが,
> ruby のバージョンはいくつですか?
> 
> わたしのところでは,1.1c6 あたりから,
> configure; make だけで OK でした.

あれ? と思って、1.1c9 を make してみたんですが、やっぱりそのまま
では駄目でした。ついでに、僕が書いた対処法でも駄目でした。ごめんな
さい (以前うまくいったような記憶があるのは、気のせいだったんだろう
か)。

悔しいので、色々試してみたんですが、CC=shlicc2、LDFLAGS = -static
$(CFLAGS) という、ちょっと変に見える組み合わせの時だけ、

% ./ruby -e 'require "socket"'
/tmp/rb000254:1:in `require': Exec format error -
/usr/local/lib/ruby/i386-bsdi3.1/socket.o (LoadError)
        from /tmp/rb000254:1

と、ファイルフォーマットが変だよというエラーになるんですが、それ以
外の組み合わせでは、大原さんが書かれたように

% ./ruby -e 'require "socket"'
/tmp/rb014052:1:in `require': No such file or directory -
(LoadError)
        from /tmp/rb014052:1

となってしまいます。これは -I や $RUBYLIB を設定しても変わりません。

ちょっとお手上げ状態になってしまいましたんで、どなたか BSD/OS に詳
しい方、教えていただけませんでしょうか。

# とりあえず、C モジュールを require する前に ruby モジュールを
# require することで逃げられますが、、、

いわおか