[ruby-dev:31887] ruby 1.9 で ruby 1.9 はコンパイルできなかった

From: Martin Duerst <duerst@...>
Date: 2007-09-28 08:38:17 UTC
List: ruby-dev #31887
皆さん、こんにちは。

今朝 ruby-core で、λなどを変数に使うには最新の 1.9 のバージョンが
必要と言われ、二週間ぶりに svn -up しました。

そこからコンパイルしたら、次のところで引っかかりました:

rm -f ruby.exe
ruby ./tool/insns2vm.rb --srcdir="."
/usr/local/lib/ruby/1.9/erb.rb:412:in `initialize': wrong argument type StringScanner (not encode capable) (TypeError)
        from /usr/local/lib/ruby/1.9/erb.rb:412:in `new'
        from /usr/local/lib/ruby/1.9/erb.rb:412:in `scan'
        from /usr/local/lib/ruby/1.9/erb.rb:524:in `compile'
        from /usr/local/lib/ruby/1.9/erb.rb:691:in `initialize'
        from /cygdrive/d/ruby/trunk/lib/vm/instruction.rb:675:in `new'
        from /cygdrive/d/ruby/trunk/lib/vm/instruction.rb:675:in `generate'
        from /cygdrive/d/ruby/trunk/lib/vm/instruction.rb:1317:in `block in generate'
        from /cygdrive/d/ruby/trunk/lib/vm/instruction.rb:1316:in `each'
        from /cygdrive/d/ruby/trunk/lib/vm/instruction.rb:1316:in `generate'
        from ./tool/insns2vm.rb:14:in `<main>'
make: *** [optinsn.inc] Error 1

「not encode capable」は encoding.c 関係で、相当おおざっぱに言うと
duck typing で「何を何とも適当に組み合わせる」と encoding の細かい
チェックはたまに引っかかるのではないかという印象がします。勿論上記
の問題局所的な修正で直ると祈っていますが、vm/instruction.rm の
詳しい方にまかせます。

自分のところの解決策として、PATH の操作で一時期に /usr/bin の 1.8.6
に戻したら (1.9 は /usr/local/bin) うまく行きましたが、普通は Ruby
のコンパイルは 1.9 でもできるようにしたいような気がします。

宜しくお願いします。    Martin.


#-#-#  Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University
#-#-#  http://www.sw.it.aoyama.ac.jp       mailto:duerst@it.aoyama.ac.jp     


In This Thread

Prev Next