Thu Jun 30 18:46:41 2011: Request 69213 was acted upon. Transaction: Ticket created by schut...@cisco.com Queue: PAR Subject: ScanDeps incompatible with AnyEvent (Perl 5.14, AnyEvent 5.34, PAR 1.00.2) Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: schut...@cisco.com Status: new Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=69213 >
PAR emits this error while trying to compile AnyEvent: <<<<< $ pp -c -M AnyEvent -M AnyEvent::Impl::EV -M EV -o repeng {SCRIPTNAME} Variable "@models" is not available at T7uor6 line 1259. SYSTEM ERROR in compiling /usr/local/lib/perl5/site_perl/5.14.1/mach/AnyEvent.pm: 65280 at /usr/local/lib/perl5/site_perl/5.14.1/Module/ScanDeps.pm line 1241. >>>>> The problem stems from something that's being done with WARNING_BITS. This is a pruned version of the script that ScanDeps was using, and reproduces the problem: >>>>> #use Module::ScanDeps::DataFeed 'KaVvk9.out'; sub { package AnyEvent;# basically a tuned-down version of common::sensesub common_sense { # from common:.sense 3.4 ${^WARNING_BITS} ^= ${^WARNING_BITS} ^ "\x3c\x3f\x33\x00\x0f\xf0\x0f\xc0\xf0\xfc\x33\x00"; # use strict vars subs - NO UTF-8, as Util.pm doesn't like this atm. (uts46data.pl) $^H |= 0x00000600; } BEGIN { AnyEvent::common_sense } use Carp (); our $VERSION = '5.34'; our $MODEL; our $AUTOLOAD; our @ISA; our @REGISTRY; our $VERBOSE; my @models = ( ); sub detect() { @models; } } <<<<< Problem encountered with: perl 5, version 14, subversion 1 (v5.14.1) built for i386-freebsd-64int AnyEvent version 5.34 PAR 1.00.2 Changing the "my" to an "our" allows compilation to complete, as does eliminating the WARNING_BITS/^H modifications. Cc'ing the AnyEvent bug list in case it makes more sense to address the problem from that side. -Scott Hutton Software Engineer, Cisco Systems, Inc.