Devel::Cover is failing to build on most versions of Perl 5 blead (5.25.-*).

See http://matrix.cpantesters.org/?dist=Devel-Cover, where most reports are ending as UNKNOWN or FAIL for 5.25.2 and later.

Today, while testing the proposed -Ddefault_inc_excludes_dot switch, I build perl 5, installed 'cpanm' against that perl, and invoked 'cpanm' to install the modules I use all the time. Devel::Cover failed during 'make'. I'm attaching (a) an excerpt from the cpanm build log; and (b) most of the output of perl -V for this build.

Thank you very much.
Jim Keenan
Summary of my perl5 (revision 5 version 25 subversion 7) configuration:
  Commit id: dd4f16e4ff71ea6d0422d277f00fe430e1d93938
  Platform:
    osname=linux
    osvers=4.4.0-47-generic
    archname=x86_64-linux
    uname='linux zareason 4.4.0-47-generic #68-ubuntu smp wed oct 26 19:39:52 
utc 2016 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Dusedevel -Uversiononly 
-Dprefix=/home/jkeenan/testing/nodot -Dman1dir=none -Dman3dir=none 
-Ddefault_inc_excludes_dot'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    optimize='-O2'
    cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong 
-I/usr/local/include'
    ccversion=''
    gccversion='5.4.0 20160609'
    gccosandvers=''
    intsize=4
    longsize=8
    ptrsize=8
    doublesize=8
    byteorder=12345678
    doublekind=3
    d_longlong=define
    longlongsize=8
    d_longdbl=define
    longdblsize=16
    longdblkind=3
    ivtype='long'
    ivsize=8
    nvtype='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    prototype=define
  Linker and Libraries:
    ld='cc'
    ldflags =' -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed 
/usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib 
/usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64
    libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.23.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.23'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_DEVEL
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
  Built under linux
  Compiled at Nov 14 2016 10:52:56
  %ENV:
[snip]
  @INC:
    lib
    /home/jkeenan/testing/nodot/lib/perl5/site_perl/5.25.7/x86_64-linux
    /home/jkeenan/testing/nodot/lib/perl5/site_perl/5.25.7
    /home/jkeenan/testing/nodot/lib/perl5/5.25.7/x86_64-linux
    /home/jkeenan/testing/nodot/lib/perl5/5.25.7
Building and testing Devel-Cover-1.23
cp lib/Devel/Cover/DB/Structure.pm blib/lib/Devel/Cover/DB/Structure.pm
cp lib/Devel/Cover/Condition.pm blib/lib/Devel/Cover/Condition.pm
cp lib/Devel/Cover/Report/Text2.pm blib/lib/Devel/Cover/Report/Text2.pm
cp lib/Devel/Cover/DB/IO.pm blib/lib/Devel/Cover/DB/IO.pm
cp lib/Devel/Cover/Report/Html_basic.pm 
blib/lib/Devel/Cover/Report/Html_basic.pm
cp lib/Devel/Cover/DB/IO/Sereal.pm blib/lib/Devel/Cover/DB/IO/Sereal.pm
cp lib/Devel/Cover/DB/File.pm blib/lib/Devel/Cover/DB/File.pm
cp lib/Devel/Cover/Collection.pm blib/lib/Devel/Cover/Collection.pm
cp lib/Devel/Cover/Report/Html_subtle.pm 
blib/lib/Devel/Cover/Report/Html_subtle.pm
cp lib/Devel/Cover/Criterion.pm blib/lib/Devel/Cover/Criterion.pm
cp lib/Devel/Cover/Condition_or_3.pm blib/lib/Devel/Cover/Condition_or_3.pm
cp lib/Devel/Cover/Condition_and_2.pm blib/lib/Devel/Cover/Condition_and_2.pm
cp lib/Devel/Cover/Report/Json.pm blib/lib/Devel/Cover/Report/Json.pm
cp lib/Devel/Cover/Branch.pm blib/lib/Devel/Cover/Branch.pm
cp lib/Devel/Cover/Report/Text.pm blib/lib/Devel/Cover/Report/Text.pm
cp lib/Devel/Cover/Condition_and_3.pm blib/lib/Devel/Cover/Condition_and_3.pm
cp lib/Devel/Cover/Op.pm blib/lib/Devel/Cover/Op.pm
cp lib/Devel/Cover/Dumper.pm blib/lib/Devel/Cover/Dumper.pm
cp lib/Devel/Cover/DB.pm blib/lib/Devel/Cover/DB.pm
cp lib/Devel/Cover/DB/IO/JSON.pm blib/lib/Devel/Cover/DB/IO/JSON.pm
cp lib/Devel/Cover/Annotation/Git.pm blib/lib/Devel/Cover/Annotation/Git.pm
cp lib/Devel/Cover/Inc.pm blib/lib/Devel/Cover/Inc.pm
cp lib/Devel/Cover/DB/IO/Storable.pm blib/lib/Devel/Cover/DB/IO/Storable.pm
cp lib/Devel/Cover/DB/Digests.pm blib/lib/Devel/Cover/DB/Digests.pm
cp lib/Devel/Cover.pm blib/lib/Devel/Cover.pm
cp lib/Devel/Cover/Report/Html.pm blib/lib/Devel/Cover/Report/Html.pm
cp lib/Devel/Cover/Annotation/Random.pm 
blib/lib/Devel/Cover/Annotation/Random.pm
cp lib/Devel/Cover/Condition_or_2.pm blib/lib/Devel/Cover/Condition_or_2.pm
cp lib/Devel/Cover/Report/Html_minimal.pm 
blib/lib/Devel/Cover/Report/Html_minimal.pm
cp lib/Devel/Cover/Html_Common.pm blib/lib/Devel/Cover/Html_Common.pm
cp lib/Devel/Cover/Report/Compilation.pm 
blib/lib/Devel/Cover/Report/Compilation.pm
cp lib/Devel/Cover/Report/Vim.pm blib/lib/Devel/Cover/Report/Vim.pm
cp lib/Devel/Cover/Report/Sort.pm blib/lib/Devel/Cover/Report/Sort.pm
cp lib/Devel/Cover/Pod.pm blib/lib/Devel/Cover/Pod.pm
cp lib/Devel/Cover/Annotation/Svk.pm blib/lib/Devel/Cover/Annotation/Svk.pm
cp lib/Devel/Cover/Condition_xor_4.pm blib/lib/Devel/Cover/Condition_xor_4.pm
cp lib/Devel/Cover/Util.pm blib/lib/Devel/Cover/Util.pm
cp lib/Devel/Cover/Test.pm blib/lib/Devel/Cover/Test.pm
cp lib/Devel/Cover/Web.pm blib/lib/Devel/Cover/Web.pm
cp lib/Devel/Cover/Truth_Table.pm blib/lib/Devel/Cover/Truth_Table.pm
cp lib/Devel/Cover/Time.pm blib/lib/Devel/Cover/Time.pm
cp lib/Devel/Cover/Subroutine.pm blib/lib/Devel/Cover/Subroutine.pm
cp lib/Devel/Cover/Tutorial.pod blib/lib/Devel/Cover/Tutorial.pod
cp lib/Devel/Cover/Statement.pm blib/lib/Devel/Cover/Statement.pm
Running Mkbootstrap for Cover ()
chmod 644 "Cover.bs"
"/home/jkeenan/testing/nodot/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' 
-- Cover.bs blib/arch/auto/Devel/Cover/Cover.bs 644
"/home/jkeenan/testing/nodot/bin/perl" 
"/home/jkeenan/testing/nodot/lib/perl5/5.25.7/ExtUtils/xsubpp"  -typemap 
'/home/jkeenan/testing/nodot/lib/perl5/5.25.7/ExtUtils/typemap' -typemap 
'/home/jkeenan/.cpanm/work/1479138905.14485/Devel-Cover-1.23/utils/typemap'  
Cover.xs > Cover.xsc
mv Cover.xsc Cover.c
cc -c   -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2  
-DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree 
-Drealloc=Perl_realloc -Dcalloc=Perl_calloc -DVERSION=\"1.23\" 
-DXS_VERSION=\"1.23\" -fPIC 
"-I/home/jkeenan/testing/nodot/lib/perl5/5.25.7/x86_64-linux/CORE"   Cover.c
Cover.xs: In function ‘find_skipped_conditional’:
Cover.xs:617:33: error: ‘OP {aka struct op}’ has no member named ‘op_sibling’
     OP *right = cLOGOP->op_first->op_sibling;
                                 ^
Cover.xs:618:35: error: ‘LOGOP {aka struct logop}’ has no member named 
‘op_sibling’
     while (right && cLOGOPx(right)->op_sibling)
                                   ^
Cover.xs:619:31: error: ‘LOGOP {aka struct logop}’ has no member named 
‘op_sibling’
         right = cLOGOPx(right)->op_sibling;
                               ^
Cover.xs: In function ‘cover_logop’:
Cover.xs:787:41: error: ‘OP {aka struct op}’ has no member named ‘op_sibling’
             OP *right = cLOGOP->op_first->op_sibling;
                                         ^
Cover.xs:877:38: error: ‘OP {aka struct op}’ has no member named ‘op_sibling’
             OP *up = cLOGOP->op_first->op_sibling->op_next;
                                      ^
Cover.xs:890:43: error: ‘OP {aka struct op}’ has no member named ‘op_sibling’
                 up = cLOGOPx(up)->op_first->op_sibling->op_next;
                                           ^
Makefile:380: recipe for target 'Cover.o' failed
make: *** [Cover.o] Error 1
-> FAIL Installing Devel::Cover failed. See 
/home/jkeenan/.cpanm/work/1479138905.14485/build.log for details. Retry with 
--force to force install it.

Reply via email to