Skip Menu |

This queue is for tickets about the Guard CPAN distribution.

Report information
The Basics
Id: 96919
Status: resolved
Priority: 0/
Queue: Guard

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

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: cannot install on 5.21.1
Building and testing Guard-1.022 cp Guard.pm blib/lib/Guard.pm Running Mkbootstrap for Guard () chmod 644 Guard.bs /Users/ether/perl5/perlbrew/perls/21.1/bin/perl5.21.1 /Users/ether/perl5/perlbrew/perls/21.1/lib/5.21.1/ExtUtils/xsubpp -typemap /Users/ether/perl5/perlbrew/perls/21.1/lib/5.21.1/ExtUtils/typemap Guard.xs > Guard.xsc && mv Guard.xsc Guard.c cc -c -fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -I/opt/local/include -O3 -DVERSION=\"1.022\" -DXS_VERSION=\"1.022\" "-I/Users/ether/perl5/perlbrew/perls/21.1/lib/5.21.1/darwin-2level/CORE" Guard.c Guard.xs: In function ‘XS_Guard_guard’: Guard.xs:113: error: ‘PL_sv_objcount’ undeclared (first use in this function) Guard.xs:113: error: (Each undeclared identifier is reported only once Guard.xs:113: error: for each function it appears in.) make: *** [Guard.o] Error 1 I think this was discussed on the p5p list - this XS interface was changed or removed in 5.21.1.
Show quoted text
> I think this was discussed on the p5p list - this XS interface was > changed or removed in 5.21.1.
from Reini Urban's p5p message: bless does not inc PL_sv_objcount since 5.17.11 anymore and does global destruction without checking for PL_sv_objcount, which slows down global destruction in the case of small scripts without any blessed objects. 5.21 removed now the variable at all, so that's why you get this error only now. But it was effectively unused since 5.18. --- ./Guard.xs~ 2009-07-18 23:58:41.000000000 -0500 +++ ./Guard.xs 2014-06-27 10:18:45.821008691 -0500 @@ -110,7 +110,9 @@ sv_magicext (guard, cv, PERL_MAGIC_ext, &guard_vtbl, 0, 0); RETVAL = newRV_noinc (guard); SvOBJECT_on (guard); +#if PERL_VERSION < 18 ++PL_sv_objcount; +#endif SvSTASH_set (guard, (HV*)SvREFCNT_inc ((SV *)guard_stash)); } OUTPUT:
Hi, installation is impossible on all the 5.21 series perls, which blocks many upstream modules -- is it possible that this patch could be applied?