pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problem with gem1.8



On 5.11.2010, at 3:23, Takahiro Kambe wrote:

> In message <op.vlm9ovuocmitfu%ponkan.lins.jp@localhost>
>       on Thu, 04 Nov 2010 20:47:09 +0900,
>       "OBATA Akio" <obache%netbsd.org@localhost> wrote:
>> On Thu, 04 Nov 2010 17:57:37 +0900, Stefan Palm 
>> <stefan.palm%pdmc.net@localhost>
>> wrote:
>> 
>>> % gem install rails -v=2.3.5
>>> % --http-proxy=http://mmoproxy.<somedomain>:8080/
>>> ERROR:  http://rubygems.org/ does not appear to be a repository
>>> ERROR:  Could not find a valid gem 'rails' (= 2.3.5) in any repository
>> 
>> First of all, your above http-proxy setting is correct?
>> i.e. can you connect "telnet mmoproxy.<somedomain> 8080" from the
>> machine?

I seem to having a very similar problem with both ruby18-base (and rubygems) 
and ruby19-base, built straight out of CVS today, on a Solaris Nevada zone. I 
have been using this zone for a long time, so this definitely worked before. 
Both gem18 and gem19 fill fail resolving the hostname on any operation, why 
plain curl works.

I'm not attaching backtraces, because they do not yield anything new, however, 
I think I found a possible clue in how getaddrinfo behaves. There is a 
difference when I pass the address family (3rd) arg to Socket::getaddrinfo or 
not, in 2010Q3.

This is on the pkgsrc zone, which has both Ruby 1.8.7p302 and Ruby 1.9.2p0 
built from pkgsrc. See how not specifying the address family makes it fail:

# /opt/local/bin/ruby18 -e 'require "socket"; print 
Socket::getaddrinfo("rubyforge.org", "echo", Socket::AF_INET)[0][3],"\n"; print 
Socket::getaddrinfo("rubyforge.org", "echo")[0][3],"\n"'
205.234.109.19
-e:1:in `getaddrinfo': getaddrinfo: no address for the specified node name 
(SocketError)
        from -e:1

# /opt/local/bin/ruby19 -e 'require "socket"; print 
Socket::getaddrinfo("rubyforge.org", "echo", Socket::AF_INET)[0][3],"\n"; print 
Socket::getaddrinfo("rubyforge.org", "echo")[0][3],"\n"'
205.234.109.19
-e:1:in `getaddrinfo': getaddrinfo: no address for the specified node name 
(SocketError)
        from -e:1:in `<main>'

This works on another zone which has Ruby 1.8.7p174 (from pkgsrc-2010Q2), and 
Ruby 1.9.2p0 built from source:

# /opt/local/bin/ruby18 -e 'require "socket"; print 
Socket::getaddrinfo("rubyforge.org", "echo", Socket::AF_INET)[0][3],"\n"; print 
Socket::getaddrinfo("rubyforge.org", "echo")[0][3],"\n"'
205.234.109.19
205.234.109.19

# /opt/development/bin/ruby19 -e 'require "socket"; print 
Socket::getaddrinfo("rubyforge.org", "echo", Socket::AF_INET)[0][3],"\n"; print 
Socket::getaddrinfo("rubyforge.org", "echo")[0][3],"\n"'
205.234.109.19
205.234.109.19

It's not much, but there is definitely a different pattern here. Any idea where 
does this difference come from? Any chance it's what's burning me here?

Stefan, can you check if the test above resolves the hostname for you in both 
cases?

-F


Home | Main Index | Thread Index | Old Index