On Sat, Mar 13, 2021 at 01:07:15AM -0500, Tom Lane wrote:
> I wrote:
> >> ... btw, prairiedog (which has a rather old Perl) has a
> >> different complaint:
> >> Invalid type 'q' in unpack at t/004_verify_heapam.pl line 104.
> 
> > Hmm ... "man perlfunc" on that system quoth
> >                    q   A signed quad (64-bit) value.
> >                    Q   An unsigned quad value.
> >                          (Quads are available only if your system supports 
> > 64-bit
> >                           integer values _and_ if Perl has been compiled to 
> > support those.
> >                           Causes a fatal error otherwise.)
> > It does not seem unreasonable for us to rely on Perl having that
> > in 2021, so I'll see about upgrading this perl installation.
> 
> Hm, wait a minute: hoverfly is showing the same failure, even though
> it claims to be running a 64-bit Perl.  Now I'm confused.

On that machine:

[nm@power8-aix 7:0 2021-03-13T06:09:08 ~ 0]$ /usr/bin/perl64 -e 'unpack "q", ""'
[nm@power8-aix 7:0 2021-03-13T06:09:10 ~ 0]$ /usr/bin/perl -e 'unpack "q", ""'
Invalid type 'q' in unpack at -e line 1.

hoverfly does configure with PERL=perl64.  /usr/bin/prove is from the 32-bit
Perl, so I suspect the TAP suites get 32-bit Perl that way.  (There's no
"prove64".)  This test should unpack the field as two 32-bit values, not a
64-bit value, to avoid requiring more from the Perl installation.


Reply via email to