Gentoo で getnameinfo が失敗

書き直しー

Gentoo LinuxRuby 1.8.6 (dev-lang/ruby-1.8.6_p369) で WEBrick を動かそうと思ったらエラーに

irb(main):002:0> s = WEBrick::HTTPServer.new(:Port=>8000,
                                             :DocumentRoot=>Dir::pwd)
[2009-08-25 20:42:31] INFO  WEBrick 1.3.1
[2009-08-25 20:42:31] INFO  ruby 1.8.6 (2009-06-08) [i686-linux]
SocketError: getnameinfo: ai_family not supported
        from /usr/lib/ruby/1.8/webrick/utils.rb:63:in `getaddrinfo'
        from /usr/lib/ruby/1.8/webrick/utils.rb:63:in `create_listeners'
        from /usr/lib/ruby/1.8/webrick/server.rb:75:in `listen'
        from /usr/lib/ruby/1.8/webrick/server.rb:63:in `initialize'
        from /usr/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize'
        from (irb):2:in `new'
        from (irb):2

少しぐぐってみたら、

rubyパッケージのIPv6をサポートしたら動いたA`)

※kernelでipv6をサポートしていなくてもおk

Ruby drb エラー : 我思うゆえに我あり I think therefore I am

とのことだったので、/etc/portage/package.use に

dev-lang/ruby ipv6

という行を追加して emerge しなおしたら、無事に WEBrick が動きました。

なんじゃらほい? IPv6 なんて使わないんだけどな。