From: KIMURA Koichi Date: 2009-06-25T12:36:49+09:00 Subject: [ruby-dev:38713] trunk で mswin32版のビルド失敗 木村です。 現在こちらの事情で redmine 経由で登録ができませんのでメールで報告させていただきます。 #事後でよろしければあとで登録しますが trunk の snapshot の日付で言うと、6/22 → 6/23 の時点で $: にカレントディレクトリが 含まれなくなったために mswin32 版でビルドが途中で失敗するようになっています (require した rbconfig.rb が 見つからないというエラーのため)。 C:\ruby-src\ruby-trunk-20090622\win32>miniruby -ve "puts $:" ruby 1.9.2dev (2009-06-21) [i386-mswin32_71] C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/site_ruby/1.9.1 C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/site_ruby/1.9.1/i386-mswin32_71 C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/site_ruby C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/vendor_ruby/1.9.1 C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/vendor_ruby/1.9.1/i386-mswin32_ C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/vendor_ruby C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/1.9.1 C:/ruby-src/ruby-trunk-20090622/win32/lib/ruby/1.9.1/i386-mswin32_71 . ← カレントディレクトリがある C:\ruby-src\ruby-trunk-20090623\win32>miniruby -ve "puts $:" ruby 1.9.2dev (2009-06-23 trunk 23826) [i386-mswin32_71] C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/site_ruby/1.9.1 C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/site_ruby/1.9.1/i386-mswin32_71 C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/site_ruby C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/vendor_ruby/1.9.1 C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/vendor_ruby/1.9.1/i386-mswin32_ C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/vendor_ruby C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/1.9.1 C:/ruby-src/ruby-trunk-20090623/win32/lib/ruby/1.9.1/i386-mswin32_71 ← カレントディレクトリがない とりあえず common.mk と win32/Makefile.sub で miniruby.exe を起動しているところに -I. を追加することでビルドが最後まで行くのは確認しました。 もう一つ、irb.bat や erb.bat、ri.bat などといったファイルが正しく生成されません。 ファイル名がどれも &.bat のようなものになってしまい最後の一つだけが 残るようです。 2009/06/24 16:13 . 2009/06/24 16:13 .. 2009/06/24 16:13 507 &-trunk.bat 2009/06/24 15:27 1,560,576 msvcr71-ruby191.dll 2009/06/24 15:27 5,120 ruby-trunk.exe 2009/06/24 15:27 5,120 rubyw-trunk.exe こちらはたぶん instruby.rb の install?(:local, :comm, :bin, :'bin-comm') do prepare "command scripts", bindir ruby_shebang = File.join(bindir, ruby_install_name) if File::ALT_SEPARATOR ruby_bin = ruby_shebang.tr(File::SEPARATOR, File::ALT_SEPARATOR) end if trans = CONFIG["program_transform_name"] exp = [] このあたりから始まる処理にある正規表現のマッチングが何かおかしくなっているような 感じですが、時間的余裕がなくて具体的な場所は現時点ではまだ把握できていません。 以上です。 -- 木村浩一