Project

General

Profile

Bug #3253

cannot install ruby on windows

Added by usa (Usaku NAKAMURA) over 9 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
ruby -v:
ruby 1.9.2dev (2010-05-06 trunk 27646) [i386-mswin32]
Backport:
[ruby-dev:41204]

Description

=begin
こんにちは、なかむら(う)です。

IRCで指摘されて気付いたのですが(というかビルドできてなかった
ので気付けなかったのですが)、Windowsでmake installができなく
なっています。
原因は、r27638でlib/tmpdir.rbがtmpdir.soのrequire失敗を許さな
くなったため(この変更自体は正しい)、tool/rbinstall.rbでrequire
しているlib/tempfile.rbがrequireしてるlib/tmpdir.rbが例外を発
生するようになったことです。
# ひどい日本語

思うに、tool/rbinstall.rbが実行されている時点では本物のrubyが
完成しているわけなので、minirubyでなくそのrubyを使ってインス
トールそりゃいいじゃんという気がします。
というわけで末尾にパッチをつけます。

が、今度は実行中のファイルにアクセスできない環境とかがあった
りして泣く人がいるんじゃないかという気もするんですが、いかが
なもんでしょうか?

Index: common.mk
===================================================================
--- common.mk (revision 27646)
+++ common.mk (working copy)
@@ -106,7 +106,7 @@ SCRIPT_ARGS = --dest-dir="$(DESTDIR)"
--make-flags="$(MAKEFLAGS)"
EXTMK_ARGS = $(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) \
--make-flags="MINIRUBY='$(MINIRUBY)'" --
-INSTRUBY = $(MINIRUBY) $(srcdir)/tool/rbinstall.rb
+INSTRUBY = $(XRUBY) $(srcdir)/tool/rbinstall.rb
INSTRUBY_ARGS = $(SCRIPT_ARGS) \
--data-mode=$(INSTALL_DATA_MODE) \
--prog-mode=$(INSTALL_PROG_MODE) \
Index: tool/rbinstall.rb
===================================================================
--- tool/rbinstall.rb (revision 27646)
+++ tool/rbinstall.rb (working copy)
@@ -10,9 +10,7 @@ else
end

srcdir = File.expand_path('../..', FILE)
-unless defined?(CROSS_COMPILING) and CROSS_COMPILING

  • $:.replace([srcdir+"/lib", Dir.pwd]) -end + require 'fileutils' require 'shellwords' require 'optparse'

それでは。
--
U.Nakamura usa@garbagecollect.jp
=end

History

#1

Updated by usa (Usaku NAKAMURA) over 9 years ago

  • Category set to build
  • Priority changed from 3 to Normal
  • Target version set to 1.9.2
  • ruby -v set to ruby 1.9.2dev (2010-05-06 trunk 27646) [i386-mswin32]

=begin

=end

#2

Updated by znz (Kazuhiro NISHIYAMA) over 9 years ago

  • Category deleted (build)
  • Priority changed from Normal to 3
  • Target version deleted (1.9.2)

=begin
#1851 のクロスビルドの環境ですが、最終的にはこっちの問題に引っかかってmake installが出来ていません。

i386-mingw32-fakeでRUBY_PLATFORMが"i386-mingw32"になっていて「/mswin|mingw/ =~ RUBY_PLATFORM」が真になるのに「ruby 1.9.2dev (2010-05-06 trunk 27646) [i686-linux]」の方には tmpdir.so がないので LoadError になります。

[user1@fedora11 ~]$ ruby -v -I/home/user1/ruby-trunk -ri386-mingw32-fake -e 'p RUBY_PLATFORM; require "tmpdir"'
ruby 1.9.2dev (2010-05-06 trunk 27646) [i686-linux]
"i386-mingw32"
/home/user1/opt/ruby-trunk/lib/ruby/1.9.1/tmpdir.rb:9:in require': no such file to load -- tmpdir.so (LoadError)
from /home/user1/opt/ruby-trunk/lib/ruby/1.9.1/tmpdir.rb:9:in
'
from -e:1:in require'
from -e:1:in
'
[user1@fedora11 ~]$

[user1@fedora11 ruby-trunk]$ make DESTDIR=$HOME/ruby-mingw32 install
(略)
Generating file member index...
ruby -I/home/user1/ruby-trunk -ri386-mingw32-fake ./tool/rbinstall.rb --make="make" --dest-dir="/home/user1/ruby-mingw32" --extout=".ext" --mflags="" --make-flags="DESTDIR=/home/user1/ruby-mingw32" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --install=all --rdoc-output=".ext/rdoc"
/home/user1/opt/ruby-trunk/lib/ruby/1.9.1/tmpdir.rb:9:in require': no such file to load -- tmpdir.so (LoadError)
from /home/user1/opt/ruby-trunk/lib/ruby/1.9.1/tmpdir.rb:9:in
'
from /home/user1/opt/ruby-trunk/lib/ruby/1.9.1/tempfile.rb:8:in require'
from /home/user1/opt/ruby-trunk/lib/ruby/1.9.1/tempfile.rb:8:in
'
from ./tool/rbinstall.rb:18:in require'
from ./tool/rbinstall.rb:18:in
'
make: *** [do-install-all] エラー 1
[user1@fedora11 ruby-trunk]$

=end

#3

Updated by znz (Kazuhiro NISHIYAMA) over 9 years ago

  • Category set to build
  • Priority changed from 3 to Normal
  • Target version set to 1.9.2
  • Start date set to 05/06/2010

=begin

=end

#4

Updated by nobu (Nobuyoshi Nakada) over 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r27653.
Usaku, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF