[#24112] ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。原因を追求してたのですが、力尽きました。

19 messages 2004/08/18
[#24127] Re: ruby/tk crashes on bcc32 — Hidetoshi NAGAI <nagai@...> 2004/08/19

永井@知能.九工大です.

[#24131] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。

[#24135] Re: ruby/tk crashes on bcc32 — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/08/19

山本です。試行錯誤の結果、これで落ちなくなりました。

[ruby-dev:24028] --disable-shared --with-static-linked-ext problems

From: IWATSUKI Hiroyuki <don@...>
Date: 2004-08-06 05:39:51 UTC
List: ruby-dev #24028
岩月と申します。

Ruby CVS HEADでconfigure --disable-shared --with-static-linked-extを行う
場合、いくつかの問題がありましたので対処しました。正しい対処かどうかは自
信ありませんが、make test-allが最後まで動くのを確認しました。

(1) ./ext/digest/**/*.aがrubyにリンクされない。
    extmk.rbの拡張ライブラリのリンク順を操作する処理にて、
    digest/以下のライブラリが無視されてしまうようでした。
(2) $(srcdir)/ext以下の*.rbが./.ext/以下へインストールされない。

ただ、このままですと、一部のライブラリ(ext/dlなど?)がファイルを
$(RUBYARCHDIR)へインストールしようとして、$(RUBYARCHDIR)が存在しないため
に$(RUBYARCHDIR)というファイルを作成してしまい、今度はmake installで失敗
します。$(RUBYARCHDIR)はsoファイルを作成する際にのみmkdirされるようです
が、そういうものでしょうか?

Index: ext/extmk.rb
===================================================================
RCS file: /home/don/ruby/cvs/src/ruby/ext/extmk.rb,v
retrieving revision 1.64
diff -u -p -r1.64 extmk.rb
--- ext/extmk.rb        6 May 2004 04:32:49 -0000       1.64
+++ ext/extmk.rb        6 Aug 2004 03:30:44 -0000
@@ -360,7 +360,7 @@ if $extlist.size > 0
       if (while l > 0; break true if r.include?(list[l-=1][1]) end)
         list.insert(l + 1, e)
       end
-      next
+      next if l > 0
     end
     f = format("%s/%s.%s", s, i, $LIBEXT)
     if File.exist?(f)
Index: lib/mkmf.rb
===================================================================
RCS file: /home/don/ruby/cvs/src/ruby/lib/mkmf.rb,v
retrieving revision 1.194
diff -u -p -r1.194 mkmf.rb
--- lib/mkmf.rb 13 Jul 2004 06:51:26 -0000      1.194
+++ lib/mkmf.rb 6 Aug 2004 03:47:36 -0000
@@ -910,7 +910,7 @@ CLEANLIBS     = #{n}#{CONFIG['DLEXT']} #
 CLEANOBJS     = *.#{$OBJEXT} *.#{$LIBEXT} *.s[ol] *.pdb *.exp *.bak

 all:           #{target ? $extout ? "install" : "$(DLLIB)" : "Makefile"}
-static:                $(STATIC_LIB)
+static:                $(STATIC_LIB) install-rb

 }
   mfile.print CLEANINGS

以上です。よろしくお願いいたします。

-- 
Hiroyuki Iwatsuki <URL:mailto:don@na.rim.or.jp>

In This Thread

Prev Next