From: Nobuyoshi Nakada Date: 2015-09-10T17:45:59+09:00 Subject: [ruby-list:50224] Re: msys環境でruby-2.2.3をインストールしようとすると失敗する On 2015/09/10 16:18, 青山彰 wrote: > msys環境でruby-2.2.3をコンパイルしてインストールしようとすると下記のエラーが発生し、 > インストールに失敗します。 > > ツールチェイン: gcc version 4.9.3 (i686-posix-sjlj-rev1, Built by MinGW-W64 project) > > configure で --disable-install-doc を指定しています。 > > $make install > ... > ./miniruby.exe -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./i386-mingw32-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="man" > C:/MinGW/msys/1.0/home/aaoyama/build/ruby-2.2.3/i386-mingw32-fake.rb:28:in `read': No such file or directory @ rb_sysopen - /home/aaoyama/build/ruby-2.2.3/tool/fake.rb (Errno::ENOENT) > from C:/MinGW/msys/1.0/home/aaoyama/build/ruby-2.2.3/i386-mingw32-fake.rb:28:in `' > from ./tool/rbinstall.rb:1:in `require' > make: *** [do-install-nodoc] Error 1 > ソースディレクトリでコンパイルしているなら、とりあえず以下のパッチでど うでしょうか。 ソースディレクトリを絶対パスで指定する場合は、msysのパスをWindowsのパ スに変換するコマンド(cygwinにおけるcygpath.exe相当)などが必要ですが、 何かあるのでしょうか。 ~~~ diff --git a/template/fake.rb.in b/template/fake.rb.in index 6f5de50..69d97cc 100644 --- a/template/fake.rb.in +++ b/template/fake.rb.in @@ -17,12 +17,13 @@ class Object RUBY_RELEASE_DATE = "@RUBY_RELEASE_DATE@" RUBY_DESCRIPTION = "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]" end -builddir = File.dirname(__FILE__) -top_srcdir = "@abs_top_srcdir@" +builddir = File.dirname(File.expand_path(__FILE__)) +srcdir = "@srcdir@" if /mingw/ =~ RUBY_PLATFORM # convert MSYS path to Windows path - top_srcdir.sub!(/\A\/([a-z])\//, '\\1:/') + srcdir.sub!(/\A\/([a-z])\//, '\\1:/') end -$:.unshift(File.expand_path(builddir)) +top_srcdir = File.realpath(srcdir, builddir) +$:.unshift(builddir) fake = File.join(top_srcdir, "tool/fake.rb") eval(File.read(fake), nil, fake) ~~~ -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦