2010-12-28 3 views
0

소스에서 ruby1.9.2를 설치하고 README에서 제안한대로 make test을 실행했습니다. 세 번째 시간 동안ruby1.9.2 소스에서 설치 -> 설치 heisenbug

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 

:

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 통과, 그러나 여기에서 실패 나는를 실행 계속,

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 

설치가 점차적으로 '치유'보고 : 이전 오류는 나타나지 않았지만,이및 6 번째 :

PASS all 934 tests 

저는 Virtualboxed Ubuntu 10.10입니다.

후드 아래에서 무슨 일이 일어나는지 아는 사람이 있습니까?

답변

0

나는 당신이 configure를 실행 한 다음 make를 실행했다고 가정합니다. 나는 또한 당신이 들소 또는 비슷한 것을 설치했다고 추정하고 있습니다. 내가 마지막으로 한 빌드는 1.9.2p94였습니다. 어딘가에 1.9.2p0과 비교하여 TCPSocket으로 버그를 수정했기 때문입니다.

위의 단계 중 하나를 놓친 경우, make test이 테스트 종속성을 구축하고 있다고 생각합니다. 한 번에 하나씩 천천히 더 많은 의존성을 구축 할 필요가 있습니다.

+0

나는 Bison을 설치하지 않았고 yes로'.configure'를 실행했지만'make test'를 실행하기 전에 단 한 번만 실행했다. – karatedog

+0

'make test'는 빌드를 테스트하는 것이다. Bison을 설치하지 않았다면 실제로 프로젝트를 어떻게 구축했는지 모르겠습니다. './configure' 후에'make -j 4'를 실행해야합니다.-j 4는 4 스레드입니다. * 당신이 프로젝트를 만들었 으면'시험을 봐야한다. ' – EnabrenTane

+0

나는 Bison을 수동으로 설치하지 않았다는 것을 의미했는데, 다른 자동문에 의해 설치되었을 가능성이있다. 필자는 소스로부터 소프트웨어를 구축하는 데 많은 경험이 없지만 (특히 컴파일 오류 수정), 먼저 논리를 만들어 프로젝트를 테스트하는 것이 무엇입니까? – karatedog

관련 문제