小松です。

In "[ruby-list:17966] Re: ruby-1.4.2 binary for BeOS(Intel)"
    on 1999/10/24 tenmei / maoh.office.ne.jp (Noriaki Harada) wrote:
|[ruby-list:17907] のバイナリなのですが、ある方からメールで
|「libruby.so が symbolic link でなく copy になっていてサイズが大きい」
|との指摘を受けましたので、シンボリックリンクに直して置き直しました。

zipってシンボリックリンクもサポートしてたのか。

それはともかく、
    lib/ruby/1.4/i586-beos/socket.so
がlibruby.aが静的にリンクされた1.4MBぐらいあるバージョンで、
requireしただけでSegmentation faultになりました。
これは.zipから消した方が良いと思います (消すと0.5MBほど小さくなる)。

# [ruby-list:17668]の手順ではsocket.soはできないはずですが、
# どこで入ったんだろう?

socket.soといえば、[ruby-dev:8066]でCVSのruby_1_4ブランチ
(1.4.3) 用のexperimentalなsocket.so作成パッチを出しましたが、
1.4.2用がないとあんまり意味が無いですね。

ということで、in.comingに、

    ruby-1.4.2-i586-beos-r4-socket.zip
        # lib/ruby/1.4/i586-beos/socket.soのバイナリのみ
    ruby-1.4.2-i586-beos-r4-socksrc.zip
        # ext/socket/*

を置きました。

ソースから作るなら、[ruby-list:17668]の手順でパッチをあてて
autoconfまで実行しているものとすると、

    cd ruby-1.4.2
    rm -r ext/socket
    unzip ruby-1.4.2-i586-beos-r4-socksrc.zip
    make
    make test
    make install

のような感じになり、バイナリを使うなら、

    cd /boot/home/config
    unzip ruby-1.4.2-i586-beos-r4.zip
    unzip ruby-1.4.2-i586-beos-r4-socket.zip

でよいかと思います。

experimentalで「まったく動かないわけではない」 ([ruby-dev:8066]参照)
という程度のものですが、少しは楽しめると思います。

--
小松克行 / Katsuyuki Komatsu <komatsu / sarion.co.jp>