Bug#753944: Bug#759799: perl: FTBFS under pbuilder with USENETWORK=no

Niko Tyni ntyni at debian.org
Sat Aug 30 17:01:17 UTC 2014


On Sat, Aug 30, 2014 at 08:09:23AM -0700, Daniel Schepler wrote:
> Source: perl
> Version: 5.20.0-6
> Severity: important
> 
> From my pbuilder build log:

> cpan/IO-Socket-IP/t/15io-socket ............................... #   Failed test ''IO::Socket->new( Domain => AF_INET )' isa 'IO::Socket::IP''
> #   at t/15io-socket.t line 20.
> #     'IO::Socket->new( Domain => AF_INET )' isn't defined
> FAILED at test 1
> cpan/IO-Socket-IP/t/16v6only .................................. Cannot listen on PF_INET6 - Name or service not known at t/16v6only.t line 22.

> The build environment does have an lo interface set up, so I'm not sure why
> IO::Socket->new(Domain=>AF_INET) would be failing.  It doesn't have any IPv6
> set up AFAIK, but I'm not sure that should be a requirement.

See #753944 (cc'd). I'm not sure I agree with the severity of this,
but never mind.

The first failure can be reduced to

 perl -MSocket=:addrinfo,getaddrinfo,AF_INET,SOCK_STREAM -le 'print getaddrinfo("127.0.0.1", 0, { family => AF_INET, flags => AI_ADDRCONFIG | AI_PASSIVE, socktype => SOCK_STREAM })' 

>From the IO::Socket::IP manual page:

       If neither "Family" nor any hosts or addresses are passed, nor
       any *AddrInfo, then the constructor has no information on which
       to decide a socket family to create. In this case, it performs a
       "getaddinfo" call with the "AI_ADDRCONFIG" flag, no host name,
       and a service name of "0", and uses the family of the first
       returned result.

>From getaddrinfo(3):

       If hints.ai_flags includes the AI_ADDRCONFIG flag, then IPv4
       addresses are returned in the list pointed to by res only if
       the local system has at least one IPv4 address configured,  and
       IPv6  addresses  are returned  only  if  the local system has at
       least one IPv6 address configured.  The loopback address is not
       considered for this case as valid as a configured address.

I didn't look at the second one, but I expect it's similar.
I suppose the relevant tests should be skipped in such environments.
-- 
Niko tyni   ntyni at debian.org



More information about the Pbuilder-maint mailing list