[ruby-list:50224] Re: msys環境でruby-2.2.3をインストールしようとすると失敗する
From:
Nobuyoshi Nakada <nobu@...>
Date:
2015-09-10 08:45:59 UTC
List:
ruby-list #50224
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 `<top (required)>'
> 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はできる。
中田 伸悦