作業メモ ruby-1.9.2/1.9.3のtest-allが途中で止まることがある
(2011-11-04 追記 port:libffi-3.0.10_1で解決しました => http://d.hatena.ne.jp/kimuraw/20111102/p1 )
途中経過だけどちょっと時間おいてリトライするつもりなので記録。うっかり検索で当たってしまった人とかは状況教えてもらえるとうれしいです。
Lionにしてからだと思うのだけど、ruby-1.9.[23]のmake test-allが
DL::TestCPtr#test_plus = 0.00 s = . DL::TestCPtr#test_ref_ptr = 0.00 s = . DL::TestCPtr#test_size = 0.00 s = . DL::TestCPtr#test_size= = 0.00 s = . DL::TestCPtr#test_to_ptr_io = 0.05 s = . DL::TestCPtr#test_to_ptr_string = 0.00 s = . DL::TestCPtr#test_to_ptr_with_num = 0.00 s = . DL::TestCPtr#test_to_ptr_with_ptr = 0.00 s = . DL::TestCPtr#test_to_s = 0.00 s = . DL::TestCPtr#test_to_str = 0.00 s = . DL::TestCPtr#test_to_value = 0.00 s = . DL::TestCallback#test_call_callback =
と、dlモジュールのコールバックのテストで止まってしまう。はじめはucontextがなくなったせいかなーとも思ったりしてたんだけど、fiddleのテストを流すと"[BUG] Bus Error"にもなったりなので、MacPortsのport:libffiをdeactivateしてLionの標準のlibffiを使うようにしてみたら通った。
で、いろいろ試していたらlibffiをclangやgcc-4.2でビルドしてみるとうまくいったみたい。注:今は再現しない…どういうこと?
で、コンパイラを変えてlibffiをビルドして、libffiのテスト結果がllvm-gcc以外のほうがいいなら「問題あるからコンパイラ変更するね!」と言いやすいよなーと思ってテストしてみた。
libffiのmake checkの結果
環境
手順
- -kオプションつけてインストール
- cd `port work libffi`/libffi-3.0.10 && chown -R ${USER} .
- make check
=== libffi Summary === # of expected passes 1621 # of unexpected failures 13 # of unsupported tests 15 make[3]: *** [check-DEJAGNU] Error 1 make[2]: *** [check-am] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 make check 30.76s user 28.65s system 49% cpu 2:01.17 total
clang (Xcode 4.1) - Apple clang version 2.1 (tags/Apple/clang-163.7.1)
=== libffi Summary === # of expected passes 1621 # of unexpected failures 13 # of unsupported tests 15 make[3]: *** [check-DEJAGNU] Error 1 make[2]: *** [check-am] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 make check 30.29s user 26.25s system 82% cpu 1:08.93 total
gcc-4.2
=== libffi Summary === # of expected passes 1621 # of unexpected failures 13 # of unsupported tests 15 make[3]: *** [check-DEJAGNU] Error 1 make[2]: *** [check-am] Error 2 make[1]: *** [check-recursive] Error 1 make: *** [check] Error 2 make check 30.92s user 28.18s system 56% cpu 1:44.70 total
同じやん!