history

青木日記 RSS

<前の日 | この月 | 次の日>

2005-02-25

Ruby CVS HEAD / test-all on AIX 5.1L (1)

何するか悩んだらとりあえず make test-all しておくらしい。

drb, rinda, soap4r, webrick が全滅。 エラーを見ると、iconv か getaddrinfo を使うものがすべて失敗していた。 逆に言うとそれ以外はすべて成功しているわけで、 思ったよりちゃんと動くという印象を受けた。 もうちょっと詰めていけば問題なく使えそうだ。

Ruby CVS HEAD / test-all on AIX 5.1L (2) getaddrinfo 問題

とりあえず getaddrinfo のほうを見てみよう。

~/c/bin $ ruby -v getaddrinfo.rb localhost
ruby 1.9.0 (2005-02-14) [rs6000-aix5.1.0.0]
AF_INET 127.0.0.1 0 IP
~/c/bin $ ruby -v getaddrinfo.rb rs7012
ruby 1.9.0 (2005-02-14) [rs6000-aix5.1.0.0]
AF_INET 192.168.1.43 0 IP

ええ? 何これ。 Linux だとこんな感じになるんだけどな。

~/c/bin % ruby -v getaddrinfo.rb localhost
ruby 1.9.0 (2005-02-23) [i686-linux]
AF_INET 127.0.0.1 STREAM TCP
AF_INET 127.0.0.1 DGRAM UDP
AF_INET 127.0.0.1 RAW IP

getnameinfo はさらに酷くて、何も通らない。

~/c/bin $ ruby -v getnameinfo.rb 127.0.0.1
ruby 1.9.0 (2005-02-14) [rs6000-aix5.1.0.0]
./getnameinfo.rb:12:in `getnameinfo': getnameinfo: Host not found (SocketError)
        from ./getnameinfo.rb:12:in `getnameinfo'
        from ./getnameinfo.rb:7:in `main'
        from ./getnameinfo.rb:15
~/c/bin $ ruby -v getnameinfo.rb 192.168.1.43
ruby 1.9.0 (2005-02-14) [rs6000-aix5.1.0.0]
getnameinfo.rb:12:in `getnameinfo': getnameinfo: Host not found (SocketError)
        from getnameinfo.rb:12:in `getnameinfo'
        from getnameinfo.rb:7:in `main'
        from getnameinfo.rb:15

何がどうなってるんだ。

いろいろ試した結果、IPv6 関係がダメダメなことがわかった。 --disable-ipv6 --with-lookup-order-hack=INET でようやく成功。

Ruby CVS HEAD / test-all on AIX 5.1L (3) iconv 問題

~ $ iconv -f us-ascii -t us-ascii
iconv: 0791-004 コンバータがオープンできません
~ $ iconv -f US-ASCII -t US-ASCII
iconv: 0791-004 コンバータがオープンできません
~ $ iconv -f ISO-8859 -t ISO-8859
iconv: 0791-004 コンバータがオープンできません
~ $ iconv -f ISO8859 -t ISO8859
iconv: 0791-004 コンバータがオープンできません
~ $ iconv -f ISO8859-1 -t ISO8859-1
^C
~ $ iconv -f UTF-8 -t UTF-8
^C
~ $ iconv -f eucJP -t eucJP
iconv: 0791-004 コンバータがオープンできません

ついに eucJP もないプラットフォームを見付けてしまったか……。 でも ISO8859-1 とか UTF-8 はあるらしいことがわかる。

一覧が欲しいなあ。コンバータはどこにあるんだろ。 さんざん探した挙句、/usr/lib/nls/loc/iconv で発見した。

$ command ls /usr/lib/nls/loc/iconv | ruby -e 'ARGF.each{|s| puts s.strip.split("_") }' | sort -u
64
ASCII-GR
CNS11643.1986-1
CNS11643.1986-2
Conv
GB18030
GBK
IBM-1027
IBM-1046
IBM-1124
IBM-1129
IBM-1252
IBM-290
IBM-300
IBM-850
IBM-856
IBM-921
IBM-922
IBM-930
IBM-930-DOS
IBM-932
IBM-939
IBM-939-DOS
IBM-943
IBM-eucCN
IBM-eucJP
IBM-eucKR
IBM-eucTW
IBM-sbdTW
IBM-udcJP
IBM-udcJP-GL
IBM-udcJP-GR
IBM-udcTW
ISCII.1991
ISO8859-1
ISO8859-1-GL
ISO8859-1-GR
ISO8859-15
ISO8859-15-GL
ISO8859-15-GR
ISO8859-2
ISO8859-2-GL
ISO8859-2-GR
ISO8859-3
ISO8859-3-GL
ISO8859-3-GR
ISO8859-4
ISO8859-4-GL
ISO8859-4-GR
ISO8859-5
ISO8859-5-GL
ISO8859-5-GR
ISO8859-6
ISO8859-6-GL
ISO8859-6-GR
ISO8859-7
ISO8859-7-GL
ISO8859-7-GR
ISO8859-8
ISO8859-8-GL
ISO8859-8-GR
ISO8859-9
ISO8859-9-GL
ISO8859-9-GR
JISX0201.1976-0
JISX0201.1976-GL
JISX0201.1976-GR
JISX0208.1978-GL
JISX0208.1978-GR
JISX0208.1983-0
JISX0208.1983-GL
JISX0208.1983-GR
KSC5601.1987-0
TIS-620
UCS
UCS-2
UTF-8
Universal
big5
ct
fold7
fold8
uucode

EUC-JP は IBM-eucJP らしい。こんなの予想できるかっ。 で IBM-932 が shift_jis (というか CP932) のようだ。 とりあえず、エンコーディング名の差を吸収するラッパーをインストールしておく。

Ruby CVS HEAD / test-all on AIX 5.1L (4) 残る問題

これでかなり通るようになったけど、 まだいくつか失敗する。まず drb で一つ。

~/src/ruby $ ruby test/runner.rb test/drb
Loaded suite drb
Started
...............................E...................................................
Finished in 32.556596 seconds.
 
  1) Error:
test_10_yield_undumped(TestDRbCore):
NoMethodError: undefined method `unpack' for -279519369:Fixnum
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:569:in `load'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:602:in `recv_request'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:899:in `recv_request'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1495:in `init_with_client'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1507:in `setup_message'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1459:in `perform'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1554:in `main_loop'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1550:in `loop'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1550:in `main_loop'
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1546
    (druby://rs7012:32900) /usr/local/pkg/ruby/lib/ruby/1.9/drb/drb.rb:1546
    (druby://localhost:32973) /usr/local/pkg/ruby/lib/ruby/1.9/drb/invokemethod.rb:10:in `block_yield'
    (druby://localhost:32973) /usr/local/pkg/ruby/lib/ruby/1.9/drb/invokemethod.rb:17:in `perform_with_block'
    (druby://localhost:32973) /usr/local/pkg/ruby/lib/ruby/1.9/drb/invokemethod.rb:14:in `each'
    /home/aamine/src/ruby/test/drb/drbtest.rb:234:in `test_10_yield_undumped'
 
83 tests, 401 assertions, 0 failures, 1 errors

soap でも一つ。

~/src/ruby $ ruby test/runner.rb test/soap
Loaded suite soap
Started
......................................................E..................................................................
Finished in 83.757822 seconds.
 
  1) Error:
test_success_mu(SOAP::Header::TestAuthHeader):
XSD::NS::FormatError: Unknown namespace qualifier: env
    /usr/local/pkg/ruby/lib/ruby/1.9/xsd/ns.rb:115:in `parse_local'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/encodingstyle/soapHandler.rb:543:in `decode_attrs'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/encodingstyle/soapHandler.rb:505:in `each'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/encodingstyle/soapHandler.rb:505:in `decode_attrs'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/encodingstyle/soapHandler.rb:162:in `decode_tag'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/parser.rb:180:in `decode_tag'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/parser.rb:128:in `start_element'
    /usr/local/pkg/ruby/lib/ruby/1.9/xsd/xmlparser/parser.rb:67:in `start_element'
    /usr/local/pkg/ruby/lib/ruby/1.9/xsd/xmlparser/rexmlparser.rb:34:in `tag_start'
    /usr/local/pkg/ruby/lib/ruby/1.9/rexml/parsers/streamparser.rb:24:in `parse'
    /usr/local/pkg/ruby/lib/ruby/1.9/rexml/document.rb:171:in `parse_stream'
    /usr/local/pkg/ruby/lib/ruby/1.9/xsd/xmlparser/rexmlparser.rb:27:in `do_parse'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/parser.rb:90:in `parse'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/processor.rb:39:in `unmarshal'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/router.rb:156:in `unmarshal'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/router.rb:76:in `route'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/soaplet.rb:108:in `do_POST'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/soaplet.rb:103:in `with_headerhandler'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/soaplet.rb:103:in `do_POST'
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/httpservlet/abstract.rb:35:in `__send__'
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/httpservlet/abstract.rb:35:in `service'
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/httpserver.rb:108:in `service'
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/httpserver.rb:69:in `run'
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/server.rb:158:in `start_thread'
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/server.rb:147
    /usr/local/pkg/ruby/lib/ruby/1.9/webrick/server.rb:147
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/proxy.rb:137:in `call'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/driver.rb:275:in `call'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/driver.rb:302:in `deposit'
    /usr/local/pkg/ruby/lib/ruby/1.9/soap/rpc/driver.rb:297:in `deposit'
    ./test/soap/header/test_authheader.rb:228:in `do_transaction_check'
    ./test/soap/header/test_authheader.rb:205:in `test_success_mu'
 
121 tests, 1172 assertions, 0 failures, 1 errors

こんなエラーは見たことがないな。 インタプリタ内で何か変なことが起きてそうな感じだ。 嫌すぎ。

(20:46)

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS