[ruby-list:50225] Re: msys環境でruby-2.2.3をインストールしようとすると失敗する
From:
青山彰 <akira.aoyama@...>
Date:
2015-09-10 23:16:31 UTC
List:
ruby-list #50225
返事がおくれました。
頂いたパッチでインストールできました。
ありがとうございました。
なお、同様の現象が 2.2.4-p175 でも発生
しましたことをお知らせします。
2015-09-10 17:45 GMT+09:00 Nobuyoshi Nakada <nobu@ruby-lang.org>:
> 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はできる。
> 中田 伸悦
>