Skip Menu |

This queue is for tickets about the Protocol-CassandraCQL CPAN distribution.

Report information
The Basics
Id: 92843
Status: open
Priority: 0/
Queue: Protocol-CassandraCQL

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 0.10
  • 0.11
Fixed in: (no value)



Subject: 64 bit detection does not work with perl 5.8.x
See http://www.cpantesters.org/cpan/report/a947dd60-8f84-11e3-8d37-07dae0bfc7aa for a sample report. The error message "OS unsupported - no 64bit integers", but the build was run on a amd64 machine, so this is not true. I assume the problem exists because perl 5.8.x has no support for pack('q',...) Regards, Slaven
On Sat Feb 08 03:04:53 2014, SREZIC wrote: Show quoted text
> See http://www.cpantesters.org/cpan/report/a947dd60-8f84-11e3-8d37- > 07dae0bfc7aa for a sample report. The error message "OS unsupported - > no 64bit integers", but the build was run on a amd64 machine, so this > is not true. I assume the problem exists because perl 5.8.x has no > support for pack('q',...)
Not entirely. The messge should probably more accurately read "no support for packing 64bit big-endian integers". The problem for 5.8 is that pack doesn't understand the '>' big-endian specifier. This will mean that Protocol::CassandraCQL::Type::BIGINT and the various other related types (COUNTER and TIMESTAMP), will have problems. Additionally, without endian support for d> and f>, we can't pack FLOAT and DOUBLE types. If you particularly needed this on perl 5.8, it could be done by providing some kind of workaround versions of the following pack formats in a perl 5.8-compatible way: Show quoted text
q> Q> d> f>
However, it's some effort to go to to support a triple (and soon-to-be quadruple) EOL'ed perl version, so I wasn't going to bother up-front. -- Paul Evans
On 2014-02-10 08:57:35, PEVANS wrote: Show quoted text
> On Sat Feb 08 03:04:53 2014, SREZIC wrote:
> > See http://www.cpantesters.org/cpan/report/a947dd60-8f84-11e3-8d37- > > 07dae0bfc7aa for a sample report. The error message "OS unsupported - > > no 64bit integers", but the build was run on a amd64 machine, so this > > is not true. I assume the problem exists because perl 5.8.x has no > > support for pack('q',...)
> > Not entirely. The messge should probably more accurately read "no > support for packing 64bit big-endian integers". > > The problem for 5.8 is that pack doesn't understand the '>' big-endian > specifier. This will mean that Protocol::CassandraCQL::Type::BIGINT > and the various other related types (COUNTER and TIMESTAMP), will have > problems. Additionally, without endian support for d> and f>, we can't > pack FLOAT and DOUBLE types. > > If you particularly needed this on perl 5.8, it could be done by > providing some kind of workaround versions of the following pack > formats in a perl 5.8-compatible way: >
> q> Q> d> f>
> > However, it's some effort to go to to support a triple (and soon-to-be > quadruple) EOL'ed perl version, so I wasn't going to bother up-front.
I am perfectly fine with a "use 5.008; # extended pack support" on top of the Makefile.PL. I just wondered because the diagnostic message was not correct in this case. Regards, Slaven