Я хотел установить ruby1.9.2 из источника, и, как предложил README, я запустил make test
.
При первом запуске это не удалось с:
sample/test.rb:gc ....not ok system 9 -- /home/user/Downloads/ruby-1.9.2-p136/sample/test.rb:1950:in `<main>'
not ok/test: 900 failed 1
test failed
Затем я запустил его во второй раз, теперь test.rb: gc прошел, но потерпел неудачу здесь:
sample/test.rb:system ........unknown encoding name: euc-jp
/home/user/Downloads/ruby-1.9.2-p136/ext/tk/sample/demos-jp/anilabel.rb
unknown encoding name: euc-jp
/home/user/Downloads/ruby-1.9.2-p136/ext/tk/sample/demos-jp/aniwave.rb
unknown encoding name: euc-jp
/home/user/Downloads/ruby-1.9.2-p136/ext/tk/sample/demos-jp/arrow.rb
unknown encoding name: euc-jp
/home/user/Downloads/ruby-1.9.2-p136/ext/tk/sample/demos-jp/bind.rb
unknown encoding name: euc-jp
/home/user/Downloads/ruby-1.9.2-p136/ext/tk/sample/demos-jp/bitmap.rb
.....and a lot more
В третий раз предыдущие ошибки не отображаются, но это:
test_autoload.rb ........bootstraptest.tmp.rb:4:in `block in <main>': undefined method `ok' for ZZZ:Class (NoMethodError)
.
.
.
#11 test_autoload.rb:54:in `<top (required)>':
open("zzz.rb", "w") {|f| f.puts "class ZZZ; def self.ok;:ok;end;end"}
autoload :ZZZ, "./zzz.rb"
t1 = Thread.new {ZZZ.ok}
t2 = Thread.new {ZZZ.ok}
[t1.value, t2.value].join
#=> "" (expected "okok")
FAIL 1/934 tests failed
make: *** [yes-btest-ruby] Error 1
Видя, что установка постепенно «заживает», я продолжил работать make test
, и в шестой раз:
PASS all 934 tests
Я нахожусь на виртуальной Ubuntu 10.10.
Кто-нибудь знает, что происходит под капотом?