Bug#578490: libembperl-perl: FTBFS with Perl 5.12: test failures

Niko Tyni ntyni at debian.org
Thu May 20 11:06:19 UTC 2010


clone 578490 -1
tag 578490 patch
reassign -1 perl-doc 5.12.1-1
severity -1 normal
retitle -1 perl-doc: perlcall.pod lies about G_{ARRAY,VOID,SCALAR} being separate bits
thanks

On Tue, Apr 20, 2010 at 12:16:30PM +0300, Niko Tyni wrote:
> Package: libembperl-perl
> Version: 2.3.0-1
> Severity: important
> User: debian-perl at lists.debian.org
> Usertags: perl-5.12-transition
> 
> This package fails to build with Perl 5.12.0:

>    [-1][28456]ERR:  24:  Error in Perl code: syntax error at /build/niko-libembperl-perl_2.3.0-1+b1-amd64-055wUg/libembperl-perl-2.3.0/test/html/ascii line 3, at EOF
>    [-2]syntax error at /build/niko-libembperl-perl_2.3.0-1+b1-amd64-055wUg/libembperl-perl-2.3.0/test/html/ascii line 11, near ";
>    [-3]]"

> As seen with the 5.10 transition (#468237), the test suite is highly
> fragile wrt. Perl diagnostic output and needs to be updated again.

That turned out to be a wrong diagnosis of the problem. The real cause
is a change in Perl internals where G_{ARRAY,VOID,SCALAR} aren't
separate bits anymore.

 http://perl5.git.perl.org/perl.git/commit/2f8edad0d37e91319b6ba10b3745327ea49c179b

This seems rather contradictory with perlcall.pod, specifically this passage:

  FLAG VALUES
   The "flags" parameter in all the call_* functions is a bit mask
   which can consist of any combination of the symbols defined below,
   OR'ed together.

so I'm cloning a bug against perl-doc.

There's also another problem: SVType(sv) == SVt_RV is now true for
integers as well, as SVt_RV and SVt_IV were merged for 5.12. However,
integers can't generally be referenced, leading to core dumps and the
like. The right way to check for a reference is to use the SvROK() macro.

Two patches attached, the tests pass for me with these on both 5.10.1
and 5.12.1. Please note that the G_ARRAY solution is suboptimal and
needs a build-dependency on perl (>= 5.10.1).
-- 
Niko Tyni   ntyni at debian.org


More information about the pkg-perl-maintainers mailing list