[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

20 messages 2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Hidetoshi NAGAI <nagai@...> 2007/02/25

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

[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Nobuyoshi Nakada <nobu@...> 2007/02/25

なかだです。

[ruby-dev:30444] Re: [ruby-list:43225] Re: Ruby 1.8.6 preview2 has been released

From: "U.Nakamura" <usa@...>
Date: 2007-02-27 16:09:04 UTC
List: ruby-dev #30444
こんにちは、なかむら(う)です。
devに振ります、が、こばやしさんが読んでいらっしゃるかどうかわ
からないのでCcさせて頂きます。

In message "[ruby-list:43225] Re: Ruby 1.8.6 preview2 has been released"
    on Feb.27,2007 18:32:56, <kobayays@gmail.com> wrote:
| opensslでコンパイルエラー

こっちは多分仰るとおりsys/time.hをextconf.rbでまた確認してる
のがよくないと思うので、できればその1行を削除して試してもらえ
ますか?


| strscanとthreadでリンクエラー

こっちはおそらく/usr/local/libにある1.8.5(以前)のlibmsvcrt-ruby18.a
にリンクしようとしてるのが原因だろうと思います。
こちらは対策のパッチを用意してみました(本メール末尾)。


| make checkは成功しましたが、最後にSegmentation faultとなりま
| した。

これは、

| This application has requested the Runtime to terminate it in an unusual way.
| Please contact the application's support team for more information.
| ./test/dbm/test_dbm.rb:20: [BUG] Segmentation fault
| ruby 1.8.6 (2007-02-24) [i386-mingw32]

のことだろうと思いますが、これはテストがおかしいですね。
めんどうなのでパッチを省略しますが、test/dbm/test_dbm.rb中のhost_os
はtarget_osであるべきだと思います。
# 他にもありそうだな

Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb	(revision 11907)
+++ lib/mkmf.rb	(working copy)
@@ -265,7 +265,7 @@
   log_src(src)
 end
 
-def link_command(ldflags, opt="", libpath=$LIBPATH)
+def link_command(ldflags, opt="", libpath=$DEFLIBPATH|$LIBPATH)
   Config::expand(TRY_LINK.dup,
                  CONFIG.merge('hdrdir' => $hdrdir.quote,
                               'src' => CONFTEST_C,
@@ -289,7 +289,7 @@
 		 CONFIG.merge('hdrdir' => $hdrdir.quote, 'srcdir' => $srcdir.quote))
 end
 
-def libpathflag(libpath=$LIBPATH)
+def libpathflag(libpath=$DEFLIBPATH|$LIBPATH)
   libpath.map{|x|
     (x == "$(topdir)" ? LIBPATHFLAG : LIBPATHFLAG+RPATHFLAG) % x.quote
   }.join
@@ -1142,7 +1142,7 @@
 #
 def create_makefile(target, srcprefix = nil)
   $target = target
-  libpath = $LIBPATH
+  libpath = $DEFLIBPATH|$LIBPATH
   message "creating Makefile\n"
   rm_f "conftest*"
   if CONFIG["DLEXT"] == $OBJEXT
@@ -1204,7 +1204,7 @@
   mfile = open("Makefile", "wb")
   mfile.print configuration(srcprefix)
   mfile.print "
-libpath = #{$LIBPATH.join(" ")}
+libpath = #{($DEFLIBPATH|$LIBPATH).join(" ")}
 LIBPATH = #{libpath}
 DEFFILE = #{deffile}
 
@@ -1424,7 +1424,8 @@
   $LIBRUBYARG = ""
   $LIBRUBYARG_STATIC = config['LIBRUBYARG_STATIC']
   $LIBRUBYARG_SHARED = config['LIBRUBYARG_SHARED']
-  $LIBPATH = $extmk ? ["$(topdir)"] : CROSS_COMPILING ? [] : ["$(libdir)"]
+  $DEFLIBPATH = $extmk ? ["$(topdir)"] : CROSS_COMPILING ? [] : ["$(libdir)"]
+  $LIBPATH = []
   $INSTALLFILES = nil
 
   $objs = nil

それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>



In This Thread