I wanted to install ruby1.9.2 from source, and as the README suggested I ran make test.
At first run it failed with this:
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
Then I ran it second time, now test.rb:gc passed, but failed here:
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
For the third time, the previous errors didn’t show up, but this:
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
Seeing the installation gradually ‘heal’, I continued running make test, and for the 6th time:
PASS all 934 tests
I’m on a Virtualboxed Ubuntu 10.10.
Does anyone know what is happening under the hood?
I am presuming you ran configure then ran make. I am also presuming you have Bison or something similar installed. The last edge build I did was 1.9.2p94 since somewhere in their they fixed a bug with TCPSocket compared to 1.9.2p0
If you missed one of the above steps, I would guess that
make testis building the dependencies for the test one at a time slowly getting further before needing to build more dependencies.