[ruby-dev:40298] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40298] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
成瀬です。

r26545 において dl が libffi 依存に置き換えられました。
この方向自体は妥当だと思いますし、test-allが通っているのは素晴らしいと思います。
(正確には1つ失敗しているのだが、これは置き換え前からのもの)

しかし、この置き換えにより、libffi がない環境では dl が使えなくなってしまいました。
Unix 系ならば入れればいいだけなので、この点はそこまで問題だとは思いませんが、
mswin32 では現状 libffi がサポートされていません。

つまり、r26545 によって mswin32 では dl が使えなくなってしまいました。
これは問題だと思います。

対策としては、
* libffi を mswin32 にポートした上で何らかの形で配布
* mswin32 では従来の dl を使う
* revert
などを思いつきましたが、他にもあるかもしれません。

On Wed, Feb 3, 2010 at 10:23 AM,  <[hidden email]> wrote:

> tenderlove      2010-02-03 10:23:48 +0900 (Wed, 03 Feb 2010)
>
>  New Revision: 26545
>
>  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26545
>
>  Log:
>    Wed Feb  3 10:12:09 2010  Aaron Patterson <[hidden email]>
>
>            * ext/dl/function.c: DL::Function now uses libffi
>
>            * ext/dl/cfunc.c (rb_dl_set_last_error): set to non static so errors
>              can be exposed.
>
>            * ext/dl/closure.c: DL::Closure will now be used in place of
>              ext/dl/callback/*.
>
>            * ext/dl/dl.c: legacy callbacks removed in favor of libffi
>
>            * ext/dl/dl_converions.(c,h): used for converting ruby types to FFI
>              types.
>
>            * ext/dl/callback/*: replaced by libffi callbacks.
>
>            * ext/dl/lib/dl/callback.rb: Converting internal callbacks to use
>              DL::Closure
>
>            * ext/dl/lib/dl/closure.rb: Ruby parts of the new DL::Closure object
>
>            * ext/dl/lib/dl/import.rb: More conversion to use DL::Closure object
>
>            * ext/dl/lib/dl/value.rb (ruby2ffi): adding private method for
>              DL::CPtr to ffi value conversion.
>
>  Added files:
>    trunk/ext/dl/closure.c
>    trunk/ext/dl/dl_conversions.c
>    trunk/ext/dl/dl_conversions.h
>    trunk/ext/dl/function.c
>    trunk/ext/dl/lib/dl/closure.rb
>    trunk/test/dl/test_closure.rb
>  Removed files:
>    trunk/ext/dl/callback/depend
>    trunk/ext/dl/callback/extconf.rb
>    trunk/ext/dl/callback/mkcallback.rb
>  Modified files:
>    trunk/ChangeLog
>    trunk/ext/dl/cfunc.c
>    trunk/ext/dl/dl.c
>    trunk/ext/dl/dl.h
>    trunk/ext/dl/extconf.rb
>    trunk/ext/dl/lib/dl/callback.rb
>    trunk/ext/dl/lib/dl/func.rb
>    trunk/ext/dl/lib/dl/import.rb
>    trunk/ext/dl/lib/dl/value.rb
>    trunk/test/dl/test_base.rb
>    trunk/test/dl/test_dl2.rb
>    trunk/test/dl/test_func.rb
>
>



--
NARUSE, Yui
[hidden email]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40300] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
成瀬です。

2010/2/3 NARUSE, Yui <[hidden email]>:
> mswin32 では現状 libffi がサポートされていません。

3.0.10 では MSVC++ をサポートするっぽいという指摘を受けました。

見ると確かにそのようです。
>3.0.10 ???-??-??
>  Fix the N64 build on mips-sgi-irix6.5.
>  Testsuite fixes for Tru64 Unix.
>  Enable builds with Microsoft's compiler.
>  Enable x86 builds with Sun's compiler.
http://github.com/atgreen/libffi

ただ、たぶん今のままだと動かないので、確認していただけるとありがたいのですが、
Windows 環境用意できますか?

--
NARUSE, Yui
[hidden email]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40302] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Aaron Patterson-4
In reply to this post by NARUSE, Yui-2
2010/2/2 NARUSE, Yui <[hidden email]>:

> 成瀬です。
>
> r26545 において dl が libffi 依存に置き換えられました。
> この方向自体は妥当だと思いますし、test-allが通っているのは素晴らしいと思います。
> (正確には1つ失敗しているのだが、これは置き換え前からのもの)
>
> しかし、この置き換えにより、libffi がない環境では dl が使えなくなってしまいました。
> Unix 系ならば入れればいいだけなので、この点はそこまで問題だとは思いませんが、
> mswin32 では現状 libffi がサポートされていません。
>
> つまり、r26545 によって mswin32 では dl が使えなくなってしまいました。
> これは問題だと思います。
>
> 対策としては、
> * libffi を mswin32 にポートした上で何らかの形で配布
> * mswin32 では従来の dl を使う
> * revert
> などを思いつきましたが、他にもあるかもしれません。

今現在私の知る限りでは、MingW を使用して Windows でテスト済みです。

参照: http://sourceware.org/libffi/

mingw32 の為の ruby-ffi gem も既に存在しています:

$ gem list -dr ffi

*** REMOTE GEMS ***

ffi (0.5.4)
    Platform: x86-mswin32, x86-mingw32, ruby, java
    Author: Wayne Meissner
    Rubyforge: http://rubyforge.org/projects/ffi
    Homepage: http://wiki.github.com/ffi/ffi

    Ruby-FFI is a ruby extension for programmatically loading dynamic
    libraries, binding functions within them, and calling those
    functions from Ruby code


以上の情報を基に Windows のサポートは可能であると私は思います。

--
Aaron Patterson
http://tenderlovemaking.com/

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40303] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
成瀬です。

2010/2/3 Aaron Patterson <[hidden email]>:

> 今現在私の知る限りでは、MingW を使用して Windows でテスト済みです。
>
> 参照: http://sourceware.org/libffi/
>
> mingw32 の為の ruby-ffi gem も既に存在しています:
>
> $ gem list -dr ffi
>
> *** REMOTE GEMS ***
>
> ffi (0.5.4)
>    Platform: x86-mswin32, x86-mingw32, ruby, java
>    Author: Wayne Meissner
>    Rubyforge: http://rubyforge.org/projects/ffi
>    Homepage: http://wiki.github.com/ffi/ffi
>
>    Ruby-FFI is a ruby extension for programmatically loading dynamic
>    libraries, binding functions within them, and calling those
>    functions from Ruby code
>
>
> 以上の情報を基に Windows のサポートは可能であると私は思います。

あぁ、もっと明示的に言った方が良かったですね。

Ruby は Windows 向けプラットフォームとして、現在ご指摘の cygwin と mingw 以外に、
Microsoft Visual C++ をビルドに用いる mswin がサポートされています。

特に Best Effort 扱いなものが mingw32, mswin32, mswin64 なので、
これらの環境でも dl ライブラリが作成出来る必要があります。

--
NARUSE, Yui
[hidden email]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40306] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

U.Nakamura
こんにちは、なかむら(う)です。

In message "[ruby-dev:40303] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed  Feb 3 10:12:09 2010 Aaron Patterson <[hidden email]>"
    on Feb.03,2010 15:46:48, <[hidden email]> wrote:
> > 以上の情報を基に Windows のサポートは可能であると私は思います。

Rubyを窓から投げ捨てるとかしたい気分になったりもしましたが、
とりあえず、匙を投げるくらいで我慢しておきます。


> あぁ、もっと明示的に言った方が良かったですね。
>
> Ruby は Windows 向けプラットフォームとして、現在ご指摘の cygwin と mingw 以外に、
> Microsoft Visual C++ をビルドに用いる mswin がサポートされています。
>
> 特に Best Effort 扱いなものが mingw32, mswin32, mswin64 なので、
> これらの環境でも dl ライブラリが作成出来る必要があります。

冗談はさておき、私はしばらく時間が取れないので、この件に関し
ては数ヶ月は手を出すつもりはありません(というか出せません)。

というわけで、最短数ヶ月はmswin版RubyはDLなしっつーことで行く
か、revertするか、誰か作業者を別途募るか、mswinサポートを打ち
切るか、などを関係者各位で決めてください。

念のために言っておくと、Windows版では他のプラットフォームと違
って添付ライブラリの幾つかがDLを利用しています。
例えばtmpdirとかこれで使えなくなっていますので悪しからず。


それでは。
--
U.Nakamura <[hidden email]>


Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40307] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

KOSAKI Motohiro-2
In reply to this post by NARUSE, Yui-2
小崎です

> r26545 において dl が libffi 依存に置き換えられました。
> この方向自体は妥当だと思いますし、test-allが通っているのは素晴らしいと思います。
> (正確には1つ失敗しているのだが、これは置き換え前からのもの)

すいません、これってテスト環境は何でしょうか?
Linux on x86_64ではtest-allの失敗が増えているように見えるのですが。

  1) Failure:
test_sin(DL::TestDL) [/home/kosaki/linux/ruby/test/dl/test_dl2.rb:96]:
<1.0> expected but was
<1.38523885234213e-309>.

  2) Failure:
test_sin(DL::TestFunc) [/home/kosaki/linux/ruby/test/dl/test_func.rb:33]:
Expected 1.0 - 1.38523885234213e-309 (1.0) to be < 0.0001.

  3) Failure:
test_sinf(DL::TestFunc) [/home/kosaki/linux/ruby/test/dl/test_func.rb:27]:
Expected 1.0 - 0.0 (1.0) to be < 0.0001.

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40339] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Tanaka Akira-3
2010年2月3日21:07 KOSAKI Motohiro <[hidden email]>:
>
> すいません、これってテスト環境は何でしょうか?
> Linux on x86_64ではtest-allの失敗が増えているように見えるのですが。

i686-linux でも失敗することがあるようです。

boron% ./ruby -v test/runner.rb dl
ruby 1.9.2dev (2010-02-07 trunk 26611) [i686-linux]
/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/lib/ruby/1.9.1/dl/cparser.rb:42:
warning: character class has duplicated range:
/^([\d\w@\*_\s]+)\(([\d\w\*_\s\,\[\]]*)\)$/
/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/lib/ruby/1.9.1/dl/import.rb:164:
warning: method redefined; discarding old qsort_callback
/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/ruby/test/dl/test_import.rb:20:
warning: previous definition of qsort_callback was here
Loaded suite test/runner
Started
.............................................F....................................................................F..
Finished in 0.045032 seconds.

  1) Failure:
test_char(DL::TestClosure)
[/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/ruby/test/dl/test_closure.rb:100]:
<60> expected but was
<137316412>.

  2) Failure:
test_unsigned_result(DL::TestImport)
[/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/ruby/test/dl/test_import.rb:59]:
<2147483649> expected but was
<-2147483647>.

117 tests, 209 assertions, 2 failures, 0 errors, 0 skips
zsh: exit 1     ./ruby -v test/runner.rb dl

とりあえず valgrind をかけるといろいろ出てくるようです。

boron% valgrind ./ruby -v test/runner.rb dl
==25110== Memcheck, a memory error detector.
==25110== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==25110== Using LibVEX rev 1658, a library for dynamic binary translation.
==25110== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==25110== Using valgrind-3.2.1-Debian, a dynamic binary
instrumentation framework.
==25110== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==25110== For more details, rerun with: -v
==25110==
==25348== Thread 2:
==25348== Conditional jump or move depends on uninitialised value(s)
==25348==    at 0x40270CC: __pthread_manager (manager.c:128)
==25348==    by 0x41977F9: clone (clone.S:119)
==25348==
==25348== Syscall param clone(child_tidptr) contains uninitialised byte(s)
==25348==    at 0x41977EC: clone (clone.S:100)
==25348==    by 0x41977F9: clone (clone.S:119)
ruby 1.9.2dev (2010-02-07 trunk 26611) [i686-linux]
/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/lib/ruby/1.9.1/dl/cparser.rb:42:
warning: character class has duplicated range:
/^([\d\w@\*_\s]+)\(([\d\w\*_\s\,\[\]]*)\)$/
/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/lib/ruby/1.9.1/dl/import.rb:164:
warning: method redefined; discarding old qsort_callback
/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/ruby/test/dl/test_import.rb:20:
warning: previous definition of qsort_callback was here
Loaded suite test/runner
Started
.............................................==25110==
==25110== Thread 1:
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x471245C: rb_dlfunction_call (function.c:160)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812B162: rb_yield (vm.c:586)
==25110==    by 0x8138127: rb_ary_each (array.c:1402)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x81248E3: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812B162: rb_yield (vm.c:586)
==25110==    by 0x8138127: rb_ary_each (array.c:1402)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812B162: rb_yield (vm.c:586)
==25110==    by 0x8138127: rb_ary_each (array.c:1402)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x8125C18: vm_exec_core (vm_insnhelper.c:1622)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812B162: rb_yield (vm.c:586)
==25110==    by 0x8138127: rb_ary_each (array.c:1402)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812B162: rb_yield (vm.c:586)
==25110==    by 0x8138127: rb_ary_each (array.c:1402)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x8060C5C: rb_obj_id (gc.c:2820)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x81248E3: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x8067E51: rb_hash_aset (hash.c:1039)
==25110==    by 0x811B0D1: call_cfunc (vm_insnhelper.c:299)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==
==25110== Use of uninitialised value of size 4
==25110==    at 0x80DE5AD: st_insert (st.c:460)
==25110==    by 0x8067E80: rb_hash_aset (hash.c:1043)
==25110==    by 0x811B0D1: call_cfunc (vm_insnhelper.c:299)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==
==25110== Use of uninitialised value of size 4
==25110==    at 0x80DE619: st_insert (st.c:463)
==25110==    by 0x8067E80: rb_hash_aset (hash.c:1043)
==25110==    by 0x811B0D1: call_cfunc (vm_insnhelper.c:299)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==
==25110== Use of uninitialised value of size 4
==25110==    at 0x80DE648: st_insert (st.c:463)
==25110==    by 0x8067E80: rb_hash_aset (hash.c:1043)
==25110==    by 0x811B0D1: call_cfunc (vm_insnhelper.c:299)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x807F61E: rb_fix2str (numeric.c:2081)
==25110==    by 0x8083F20: fix_to_s (numeric.c:2127)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x811DDC3: vm_call0 (vm_eval.c:78)
==25110==    by 0x811E6CA: rb_funcall (vm_eval.c:234)
==25110==    by 0x8087CC9: rb_obj_inspect (object.c:406)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x807F620: rb_fix2str (numeric.c:2084)
==25110==    by 0x8083F20: fix_to_s (numeric.c:2127)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x811DDC3: vm_call0 (vm_eval.c:78)
==25110==    by 0x811E6CA: rb_funcall (vm_eval.c:234)
==25110==    by 0x8087CC9: rb_obj_inspect (object.c:406)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==
==25110== Use of uninitialised value of size 4
==25110==    at 0x807F638: rb_fix2str (numeric.c:2090)
==25110==    by 0x8083F20: fix_to_s (numeric.c:2127)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x811DDC3: vm_call0 (vm_eval.c:78)
==25110==    by 0x811E6CA: rb_funcall (vm_eval.c:234)
==25110==    by 0x8087CC9: rb_obj_inspect (object.c:406)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x807F645: rb_fix2str (numeric.c:2091)
==25110==    by 0x8083F20: fix_to_s (numeric.c:2127)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x811DDC3: vm_call0 (vm_eval.c:78)
==25110==    by 0x811E6CA: rb_funcall (vm_eval.c:234)
==25110==    by 0x8087CC9: rb_obj_inspect (object.c:406)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==
==25110== Use of uninitialised value of size 4
==25110==    at 0x80DE151: st_delete (st.c:647)
==25110==    by 0x8067195: rb_hash_delete_key (hash.c:758)
==25110==    by 0x80682A2: rb_hash_delete (hash.c:787)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==
==25110== Conditional jump or move depends on uninitialised value(s)
==25110==    at 0x80DE186: st_delete (st.c:648)
==25110==    by 0x8067195: rb_hash_delete_key (hash.c:758)
==25110==    by 0x80682A2: rb_hash_delete (hash.c:787)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==
==25110== Use of uninitialised value of size 4
==25110==    at 0x80DE18B: st_delete (st.c:649)
==25110==    by 0x8067195: rb_hash_delete_key (hash.c:758)
==25110==    by 0x80682A2: rb_hash_delete (hash.c:787)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
==25110==    by 0x812998D: vm_exec (vm.c:1124)
==25110==    by 0x812A0C2: invoke_block_from_c (vm.c:556)
==25110==    by 0x812A4A3: rb_vm_invoke_proc (vm.c:602)
==25110==    by 0x805E583: proc_call (proc.c:552)
==25110==    by 0x811B0FD: call_cfunc (vm_insnhelper.c:290)
==25110==    by 0x812AA0C: vm_call_method (vm_insnhelper.c:378)
==25110==    by 0x81248DD: vm_exec_core (insns.def:999)
F....................................................................F..
Finished in 1.104106 seconds.

  1) Failure:
test_char(DL::TestClosure)
[/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/ruby/test/dl/test_closure.rb:100]:
<60> expected but was
<72237884>.

  2) Failure:
test_unsigned_result(DL::TestImport)
[/home/akr/chkbuild/tmp/build/ruby-trunk/20100207T130400/ruby/test/dl/test_import.rb:59]:
<2147483649> expected but was
<-2147483647>.

117 tests, 209 assertions, 2 failures, 0 errors, 0 skips
==25110==
==25110== ERROR SUMMARY: 40 errors from 18 contexts (suppressed: 49 from 9)
==25110== malloc/free: in use at exit: 2,133,089 bytes in 21,669 blocks.
==25110== malloc/free: 55,261 allocs, 33,592 frees, 9,427,325 bytes allocated.
==25110== For counts of detected errors, rerun with: -v
==25110== searching for pointers to 21,669 not-freed blocks.
==25110== checked 1,506,648 bytes.
==25110==
==25110== LEAK SUMMARY:
==25110==    definitely lost: 13,848 bytes in 478 blocks.
==25110==      possibly lost: 5,672 bytes in 4 blocks.
==25110==    still reachable: 2,113,569 bytes in 21,187 blocks.
==25110==         suppressed: 0 bytes in 0 blocks.
==25110== Use --leak-check=full to see details of leaked memory.
zsh: exit 1     valgrind ./ruby -v test/runner.rb dl

まぁ、とりあえず現状でコミットされているので、
いろいろな OS・プロセッサ・コンパイラを使える人は、
動くにせよ動かないにせよ、これを機会に試しておくといいんじゃないかと思います。
動くはず、といっても実際には動かないこともあるようですし。

BSD とか AIX とか、IA64 とか、どうですかね。
--
[田中 哲][たなか あきら][Tanaka Akira]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40345] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
成瀬です。

(2010/02/07 14:18), Tanaka Akira wrote:
> まぁ、とりあえず現状でコミットされているので、
> いろいろな OS・プロセッサ・コンパイラを使える人は、
> 動くにせよ動かないにせよ、これを機会に試しておくといいんじゃないかと思います。
> 動くはず、といっても実際には動かないこともあるようですし。
>
> BSD とか AIX とか、IA64 とか、どうですかね。

AIX は金本さんが調査中のようです。とりあえず XL C では、
libffi がコンパイル出来ないのが悩み所な模様。
http://d.hatena.ne.jp/kinpoco/20100203/1265216554


先に報告していた FreeBSD で 1 個失敗していた件は、
BSD の仕様のようだったのでテスト側を直しました。

NetBSD で試したところ、以下の通りでした。

  1) Error:
test_to_ptr_io(DL::TestCPtr):
RangeError: bignum too big to convert into `long'
    /home/naruse/ruby_trunk/test/dl/test_cptr.rb:84:in `call'
    /home/naruse/ruby_trunk/test/dl/test_cptr.rb:84:in `block in test_to_ptr_io'
    /home/naruse/ruby_trunk/test/dl/test_cptr.rb:81:in `open'
    /home/naruse/ruby_trunk/test/dl/test_cptr.rb:81:in `test_to_ptr_io'

  2) Error:
test_callback_return_value(DL::TestCallback):
RangeError: bignum too big to convert into `long'
    /home/naruse/ruby_trunk/.ext/common/dl/func.rb:38:in `native_call'
    /home/naruse/ruby_trunk/.ext/common/dl/func.rb:38:in `call'
    /home/naruse/ruby_trunk/test/dl/test_callback.rb:28:in `test_callback_return_value'

  3) Error:
test_callback_with_string(DL::TestCallback):
RangeError: bignum too big to convert into `long'
    /home/naruse/ruby_trunk/test/dl/test_callback.rb:45:in `dlunwrap'
    /home/naruse/ruby_trunk/test/dl/test_callback.rb:45:in `block in test_callback_with_string'
    /home/naruse/ruby_trunk/.ext/common/dl/closure.rb:15:in `call'
    /home/naruse/ruby_trunk/.ext/common/dl/closure.rb:15:in `call'
    /home/naruse/ruby_trunk/.ext/common/dl/func.rb:38:in `native_call'
    /home/naruse/ruby_trunk/.ext/common/dl/func.rb:38:in `call'
    /home/naruse/ruby_trunk/test/dl/test_callback.rb:50:in `test_callback_with_string'

  4) Error:
test_static_sym(DL::TestHandle):
DL::DLError: unknown symbol "dlopen"
    /home/naruse/ruby_trunk/test/dl/test_handle.rb:25:in `sym'
    /home/naruse/ruby_trunk/test/dl/test_handle.rb:25:in `test_static_sym'

  5) Failure:
test_unsigned_result(DL::TestImport) [/home/naruse/ruby_trunk/test/dl/test_import.rb:59]:
<2147483649> expected but was
<-2147483647>.

117 tests, 204 assertions, 1 failures, 4 errors, 0 skips
*** Error code 1

--
NARUSE, Yui  <[hidden email]>

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40356] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Tanaka Akira-3
2010年2月7日21:37 NARUSE, Yui <[hidden email]>:
>> BSD とか AIX とか、IA64 とか、どうですかね。
>
> AIX は金本さんが調査中のようです。とりあえず XL C では、
> libffi がコンパイル出来ないのが悩み所な模様。
> http://d.hatena.ne.jp/kinpoco/20100203/1265216554
>
>
> 先に報告していた FreeBSD で 1 個失敗していた件は、
> BSD の仕様のようだったのでテスト側を直しました。

IA64 はメンテナがいたような気がするんですがどうかなぁ。
高野さんだっけ?

あと、玄柴を買ったので ARM で試したところ、以下のような失敗が出ました。

% ./ruby -v test/runner.rb dl
ruby 1.9.2dev (2010-02-09 trunk 26623) [armv5tejl-linux-eabi]
/home/akr/chkbuild/tmp/build/ruby-trunk-o3/20100209T020708/lib/ruby/1.9.1/dl/cparser.rb:42:
warning: character class has duplicated range:
/^([\d\w@\*_\s]+)\(([\d\w\*_\s\,\[\]]*)\)$/
/home/akr/chkbuild/tmp/build/ruby-trunk-o3/20100209T020708/lib/ruby/1.9.1/dl/import.rb:164:
warning: method redefined; discarding old qsort_callback
/home/akr/chkbuild/tmp/build/ruby-trunk-o3/20100209T020708/ruby/test/dl/test_import.rb:20:
warning: previous definition of qsort_callback was here
Loaded suite test/runner
Started
.............................................F....................................................................F..
Finished in 0.380157 seconds.

  1) Failure:
test_char(DL::TestClosure)
[/home/akr/chkbuild/tmp/build/ruby-trunk-o3/20100209T020708/ruby/test/dl/test_closure.rb:100]:
<60> expected but was
<1899324>.

  2) Failure:
test_unsigned_result(DL::TestImport)
[/home/akr/chkbuild/tmp/build/ruby-trunk-o3/20100209T020708/ruby/test/dl/test_import.rb:59]:
<2147483649> expected but was
<-2147483647>.

117 tests, 209 assertions, 2 failures, 0 errors, 0 skips

他のと似たような失敗ですかねぇ。
--
[田中 哲][たなか あきら][Tanaka Akira]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40357] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

KOSAKI Motohiro
> 2010年2月7日21:37 NARUSE, Yui <[hidden email]>:
> >> BSD とか AIX とか、IA64 とか、どうですかね。
> >
> > AIX は金本さんが調査中のようです。とりあえず XL C では、
> > libffi がコンパイル出来ないのが悩み所な模様。
> > http://d.hatena.ne.jp/kinpoco/20100203/1265216554
> >
> >
> > 先に報告していた FreeBSD で 1 個失敗していた件は、
> > BSD の仕様のようだったのでテスト側を直しました。
>
> IA64 はメンテナがいたような気がするんですがどうかなぁ。
> 高野さんだっけ?

kosakiです

手近なia64マシンで試そうとしましたが、そもそも母艦がRHEL5ベースだったので
autoconfが2.59、現状のtrunkはautoconf 2.60以上を要求するのでconfigureが
作れませんでした。
ia64でかつ、fedora, ubuntuを使っている酔狂な人もいないと思うので
たぶん、長い間誰もビルドすらしていなかったのでしょう。




Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40363] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Tanaka Akira-3
2010年2月9日14:19 KOSAKI Motohiro <[hidden email]>:
>>
>> IA64 はメンテナがいたような気がするんですがどうかなぁ。
>> 高野さんだっけ?

> 手近なia64マシンで試そうとしましたが、そもそも母艦がRHEL5ベースだったので
> autoconfが2.59、現状のtrunkはautoconf 2.60以上を要求するのでconfigureが
> 作れませんでした。

そういうときには snapshot ですかね。
ftp://ftp.ruby-lang.org/pub/ruby/snapshot.tar.bz2
にありますが... おや、最終更新が 2/2 ですね。
中身はちょうど dl が ffi を使うようになる直前なんですが、
偶然と考えるか関係があると考えるか、さて?

> ia64でかつ、fedora, ubuntuを使っている酔狂な人もいないと思うので
> たぶん、長い間誰もビルドすらしていなかったのでしょう。

[ruby-dev:39709] で確認できますが、去年の 11月には動いていたようです。
--
[田中 哲][たなか あきら][Tanaka Akira]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40365] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

KOSAKI Motohiro
> 2010年2月9日14:19 KOSAKI Motohiro <[hidden email]>:
> >>
> >> IA64 はメンテナがいたような気がするんですがどうかなぁ。
> >> 高野さんだっけ?
>
> > 手近なia64マシンで試そうとしましたが、そもそも母艦がRHEL5ベースだったので
> > autoconfが2.59、現状のtrunkはautoconf 2.60以上を要求するのでconfigureが
> > 作れませんでした。
>
> そういうときには snapshot ですかね。
> ftp://ftp.ruby-lang.org/pub/ruby/snapshot.tar.bz2
> にありますが... おや、最終更新が 2/2 ですね。
> 中身はちょうど dl が ffi を使うようになる直前なんですが、
> 偶然と考えるか関係があると考えるか、さて?


途中で刺さってしまいテストが完了しないようですね。

#刺さってるテストを確認する方法はあるのだろうか??


~/linux/ruby-snap/snapshot% make test-all
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb  ./tool/runruby.rb --extout=.ext
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/dl/test_base.rb:48: warning: Insecure worldde 040777
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_build_command.rb>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_indexer.rb: Could not fin
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_remote_fetcher.rb: Could )
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_tar_writer.rb: Co.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_uninstall_commanst (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_contents_commandt (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_doc_manager.rb: Could not
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_query_command.rb>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_requirement.rb: Could not
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_ext_configure_builder.rb:= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_outdated_commandt (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_specification.rb: Could n
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_source_index.rb: Could no
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_ext_rake_builder.rb: Coul.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_builder.rb: Could not fin
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_tar_header.rb: Co.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_command_manager.rb: Could1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_version.rb: Could not fin
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_sources_command. (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_install_command. (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_source_info_cache.rb: Cou3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_dependency_installer.rb:  1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_task.rb: Could no
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_config_file.rb: Could not
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_gem_path_searcher.rb: Cou3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_version_option.rb: Could )
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_local_remote_options.rb:  1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_stale_command.rb>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_unpack_command.r(>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_install_update_options.rb>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_list_command.rb:= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_specification_conitest (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_platform.rb: Could not fi
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_kernel.rb: Could not find Rub
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_mirror_command.r(>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_digest.rb: Could not find
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_server_command.r(>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_installer.rb: Could not f
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_stream_ui.rb: Could not f
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem.rb: Could not find RubyGe
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_fetch_command.rb>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_dependency.rb: Could not
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_dependency_list.rb: Could1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_lock_command.rb:= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_tar_reader_entry. (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_source_info_cache_entry.r(>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_tar_input.rb: Cou3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_tar_output.rb: Co.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_format.rb: Could not find
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_generate_index_cinitest (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_command.rb: Could not fin
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_update_command.r(>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_gem_runner.rb: Could not
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_package_tar_reader.rb: Co.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_cert_command.rb:= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_spec_fetcher.rb: Could no
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_ext_ext_conf_builder.rb:  1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_server.rb: Could not find
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_uninstaller.rb: Could not
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_config.rb: Could not find Rub
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_environment_commtest (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_pristine_commandt (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_dependency_commaest (>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_commands_check_command.rb>= 1.3.1)
Install minitest gem >= 1.3.1
/mnt/sdb1/kosaki/linux/ruby-snap/snapshot/test/rubygems/test_gem_validator.rb: Could not f
Loaded suite ./test/runner
Started
.............................................................................................................F.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F......................................................................................................................................................................................................................................................................................................................................................................................................................
 ...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................F.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................F.................F.................................
 ..................................................................


Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40367] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Tanaka Akira-3
2010年2月9日18:45 KOSAKI Motohiro <[hidden email]>:

> 途中で刺さってしまいテストが完了しないようですね。

いや、そこにある snapshot は ffi を使うようになる前のものなので今回のの趣旨には
使えません。

毎日生成するはずなので、そうなっているのはおかしいんですが。

> #刺さってるテストを確認する方法はあるのだろうか??

make test-all TESTS=-v
というのが使えます。
--
[田中 哲][たなか あきら][Tanaka Akira]

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40380] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Yutaka Kanemoto
In reply to this post by NARUSE, Yui-2
金本と申します。

>> BSD とか AIX とか、IA64 とか、どうですかね。
> AIX は金本さんが調査中のようです。とりあえず XL C では、
> libffi がコンパイル出来ないのが悩み所な模様。
> http://d.hatena.ne.jp/kinpoco/20100203/1265216554
gccでコンパイルしたlibffiのライブラリもXL Cでコンパイルしたものにリンクできました。
libffiのinfoにのっていたsampleが動かせました。
XL Cでrubyのdl.soもできました。

ただlibc.soとかがないのでテストがまともに動かせないので、
ちょっと考えてAaronさんと相談してみます。

--
Yutaka KANEMOTO
http://d.hatena.ne.jp/kinpoco/

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40381] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
成瀬です。

(2010/02/10 23:54), Yutaka Kanemoto wrote:
> 金本と申します。
>
>>> BSD とか AIX とか、IA64 とか、どうですかね。
>> AIX は金本さんが調査中のようです。とりあえず XL C では、
>> libffi がコンパイル出来ないのが悩み所な模様。
>> http://d.hatena.ne.jp/kinpoco/20100203/1265216554
> gccでコンパイルしたlibffiのライブラリもXL Cでコンパイルしたものにリンクできました。
> libffiのinfoにのっていたsampleが動かせました。
> XL Cでrubyのdl.soもできました。

なるほど、調査ありがとうございます。

> ただlibc.soとかがないのでテストがまともに動かせないので、
> ちょっと考えてAaronさんと相談してみます。

libc.so とかは test/dl/test_base.rb で指定しています。
説明が必要ならば説明しますが、多分冒頭を見れば直せるのではないでしょうか。

--
NARUSE, Yui  <[hidden email]>

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40383] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

Yutaka Kanemoto
金本です。

ありがとうございます。
> libc.so とかは test/dl/test_base.rb で指定しています。
はい。ここあたりまでは読んでいてわかっているつもりではいるのですが、
AIXでdlopenでひらけるライブラリで、strcpyやsinを呼べるものがないのです。
私が大分AIXわかっていないだけかもしれません。
なんていうかほかのUnixと大分趣を異にしている感じです。
もっと勉強しておきます。
--
Yutaka KANEMOTO
http://d.hatena.ne.jp/kinpoco/

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40443] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
成瀬です。

(2010/02/11 0:43), Yutaka Kanemoto wrote:
> 金本です。
>
> ありがとうございます。
>> libc.so とかは test/dl/test_base.rb で指定しています。
> はい。ここあたりまでは読んでいてわかっているつもりではいるのですが、
> AIXでdlopenでひらけるライブラリで、strcpyやsinを呼べるものがないのです。
> 私が大分AIXわかっていないだけかもしれません。
> なんていうかほかのUnixと大分趣を異にしている感じです。
> もっと勉強しておきます。

うーん、ぐぐると AIX はなんか変わってるような話がでてきますね。
http://www.loveruby.net/d/20050217.html

とりあえず、単純なテストの話でしたら、 strcpy や sin でなく、
libruby の関数を呼んで誤魔化すという手はあります。

libffi さえ gcc で作ってしまえば後は大筋として問題ないという認識なのですが、
それで正しいのかな。

--
NARUSE, Yui  <[hidden email]>

Reply | Threaded
Open this post in threaded view
|

[ruby-dev:40444] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org>

NARUSE, Yui-2
In reply to this post by U.Nakamura
成瀬です。

(2010/02/03 20:40), U.Nakamura wrote:
> というわけで、最短数ヶ月はmswin版RubyはDLなしっつーことで行く
> か、revertするか、誰か作業者を別途募るか、mswinサポートを打ち
> 切るか、などを関係者各位で決めてください。

というわけで、主たるプラットフォームではおおむね動作を確認できたと思うので、
特に大きな変更がなければ一旦 revert としたいのですが、
どなたか mswin 向けの作業なさってますか?
作業中ならば完了を待ってもよいとは思っています。

--
NARUSE, Yui  <[hidden email]>