小松です。

In the message of [ruby-list:19308] BeOS binary (Re: Ruby 1.4.3 repacked)
    on 1999/12/9 09:24:39 tenmei / maoh.office.ne.jp (Noriaki Harada) wrote:
|[ruby-dev:8018]のパッチは今回のソースには適用されていなかったようです。
|結局手作業で変更部分を修正して make したのですが、今後も[ruby-dev:8018]
|のパッチは本体には取り込まれる予定はないのでしょうか?

いくつか懸念事項があったので、1.4.3では強く採用を働きかけません
でした。

一つ目は、
    [ruby-dev:7224] -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625)
のスレッドで話題になってた症状と同じく、BeOSでも-rpathを使うと
LIBRARY_PATHに"."を入れても効果がありません。
それで、強制的に./libruby.soを使わせる方法 (LinuxではLD_PRELOAD)
を探したのですが、みつかりませんでした。
これは、
    ./configure --prefix=/boot/home/config
とすればLIBRARY_PATHにデフォルトで/boot/home/config/libが入っている
ので回避できるし、他の所にインストールした場合でもLIBRARY_PATH
を変えれば済むので、やめちゃおうと思います。

二つ目は、[ruby-dev:8385]でも書きましたが、R4.5.2以前のリリースで
問題がでるかもしれない点です。
R4.5.2のIntel版しか持ってないので自分では確かめられないのが痛い
ですが、-rpathを削ると問題なさそうな気がしてきました。

どなたか、R4.5.2以前のIntel版で問題ないかチェックしてくれると
うれしいです。

# 採用率がupするかもしれないので、ChangeLogのエントリもつけておこう。

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

Thu Dec 9 23:30:57 1999 Katsuyuki Komatsu <komatsu / sarion.co.jp> * MANIFEST: add beos/GNUmakefile.in. * configure.in: support BeOS R4.5.2 (Intel). * beos/GNUmakefile.in: new file to support BeOS R4.5.2 (Intel). diff -pru2N ruby-1.4.3.dist/MANIFEST ruby-1.4.3/MANIFEST --- ruby-1.4.3.dist/MANIFEST Wed Dec 8 00:29:46 1999 +++ ruby-1.4.3/MANIFEST Wed Dec 8 01:47:13 1999 @@ -76,4 +76,5 @@ variable.c version.c version.h +beos/GNUmakefile.in cygwin/GNUmakefile.in ext/Setup diff -pru2N ruby-1.4.3.dist/beos/GNUmakefile.in ruby-1.4.3/beos/GNUmakefile.in --- ruby-1.4.3.dist/beos/GNUmakefile.in Thu Jan 1 09:00:00 1970 +++ ruby-1.4.3/beos/GNUmakefile.in Thu Oct 14 12:05:42 1999 @@ -0,0 +1,5 @@ +include Makefile + +all: $(LIBRUBY_SO) + +$(LIBRUBY_SO): miniruby$(EXEEXT) diff -pru2N ruby-1.4.3.dist/configure.in ruby-1.4.3/configure.in --- ruby-1.4.3.dist/configure.in Wed Dec 8 09:01:00 1999 +++ ruby-1.4.3/configure.in Thu Dec 9 23:30:57 1999 @@ -632,4 +632,5 @@ if test "$fat_binary" = yes ; then fi +FIRSTMAKEFILE="" LIBRUBY_A='lib$(RUBY_INSTALL_NAME).a' LIBRUBY='$(LIBRUBY_A)' @@ -648,4 +649,5 @@ if test "$host_os" = "beos"; then i586*) LDFLAGS="$LDFLAGS -L." + FIRSTMAKEFILE=GNUmakefile:beos/GNUmakefile.in ;; *) @@ -656,5 +658,4 @@ if test "$host_os" = "beos"; then fi -FIRSTMAKEFILE="" LIBRUBY_LDSHARED=$LDSHARED LIBRUBY_DLDFLAGS=$DLDFLAGS