きりかノート 3冊め

おあそびプログラミング

MacPorts公式のrubyをちょっとだけ更新

  • 1.8.7-p72_2 -> 1.8.7-p72_3

Rabbitのrabrickを試していたら、drbがうまく上がらないことに気づいた。

現象としては、以下のようなエラーがおきる。

 % ruby -rsocket -e 'p TCPServer.open(0)'
-e:1:in `initialize': getaddrinfo: nodename nor servname provided, or not known (SocketError)
from -e:1:in `open'
from -e:1

macportsrubyではext/socket.cにパッチを当てている。コイツが原因のようだ。
もともとは10.5.3のruby 1.8.6-p114で発生してた問題 #15528 に対処するためにあたっていたパッチみたいなんだけど、今となっては(ruby側とMac OSのどっちで対処されたかまでは調べてない)パッチなしでも追加のテストケースをパスするようになっている。

ちなみにmake test-allの結果が

となっている。(両方ともi686 MacOS X 10.5.6)

2Fも消さなきゃならんだろうなあ(今回の更新で3F->2F)。
いちおエラー内容を貼っておくので、アドバイスなどお待ちしています。

 Finished in 164.209604 seconds.

1) Failure:
test_02_unknown(TestDRbCore) [/(略)/work/ruby-1.8.7-p72/test/drb/drbtest.rb:136]:
<FailOnecky::OneckyError> exception expected but was
Class: <DRb::DRbConnError>
Message: <"too large packet 4176">
---Backtrace---
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:573:in `load'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:633:in `recv_reply'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:923:in `recv_reply'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:1202:in `send_message'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:1093:in `method_missing'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:1177:in `open'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:1092:in `method_missing'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:1110:in `with_friend'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/lib/drb/drb.rb:1091:in `method_missing'
(druby://localhost:50503) /(略)/work/ruby-1.8.7-p72/test/drb/ut_drb.rb:40:in `sample'
/(略)/work/ruby-1.8.7-p72/test/drb/drbtest.rb:137:in `test_02_unknown'
/(略)/work/ruby-1.8.7-p72/test/drb/drbtest.rb:136:in `test_02_unknown'