Subject: | B::C fails to build against perl 5 blead |
[Reporting this issue here as http://code.google.com/p/perl-compiler/issues is now a read-only archive.]
Today I attempted to install B-C version 1.54 via 'cpanm' against a debugging build of perl 5 blead on Ubuntu Linux 16.04 LTS. Compilation failed during processing of bytecode.c. (This failure differs from that on 5.24.1 also reported today.)
Please find attached the build.log (with output for successfully installed prerequisites trimmed).
Thank you very much.
Jim Keenan
Subject: | b-c-1.54-perl-5.25.10-debugging.trimmed.build.log |
cpanm (App::cpanminus) 1.7042 on perl 5.025010 built for x86_64-linux
Work directory is /home/jkeenan/.cpanm/work/1486670810.24261
You have make /usr/bin/make
You have /usr/bin/wget
You have /bin/tar: tar (GNU tar) 1.28
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching B::C () on cpanmetadb ...
--> Working on B::C
Fetching http://www.cpan.org/authors/id/R/RU/RURBAN/B-C-1.54.tar.gz
-> OK
Unpacking B-C-1.54.tar.gz
Entering B-C-1.54
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.24)
Configuring B-C-1.54
Running Makefile.PL
Warning:
Perl handling of new unicode identifiers - package and symbol names -
without proper TR39 handling is considered a security risc and is not fully supported.
See http://websec.github.io/unicode-security-guide/
Check your code for syntax spoofs, confusables, strip \0 from package names.
Enable use warnings 'syscalls'.
Warning: prerequisite B::Flags 0.15 not found.
Warning: prerequisite IPC::Run 0 not found.
Warning: prerequisite Opcodes 0 not found.
Checking if your kit is complete...
Looks good
Writing MYMETA.yml and MYMETA.json
Writing MYMETA.yml and MYMETA.json
Empty %B::C::Config::Config at lib/B/C.pm line 21.
Generating a Unix-style Makefile
Writing Makefile for B::C
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have B::Flags 0.15 ... No
Checking if you have ExtUtils::Embed 1.25 ... Yes (1.34)
Checking if you have Time::HiRes 0 ... Yes (1.9741)
Checking if you have Opcodes 0 ... No
Checking if you have IPC::Run 0 ... No
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.24)
==> Found dependencies: B::Flags, Opcodes, IPC::Run
Searching B::Flags (0.15) on cpanmetadb ...
--> Working on B::Flags
[snip]
Successfully installed B-Flags-0.16
[snip]
--> Working on Opcodes
[snip]
Successfully installed Opcodes-0.14
[snip]
--> Working on IPC::Run
[snip]
Successfully installed IPC-Run-0.94
[snip]
Building and testing B-C-1.54
"/home/jkeenan/testing/blead/bin/perl" bytecode.pl
cp lib/B/Asmdata.pm blib/lib/B/Asmdata.pm
cp lib/B/Disassembler.pm blib/lib/B/Disassembler.pm
cp lib/B/Assembler.pm blib/lib/B/Assembler.pm
cp lib/B/Bblock.pm blib/lib/B/Bblock.pm
cp lib/B/Bytecode.pm blib/lib/B/Bytecode.pm
cp perloptree.pod blib/lib/B/perloptree.pod
cp lib/B/C.pm blib/lib/B/C.pm
cp lib/B/Stackobj.pm blib/lib/B/Stackobj.pm
cp perlcompile.pod blib/lib/B/perlcompile.pod
cp lib/B/Bytecode56.pm blib/lib/B/Bytecode56.pm
cp lib/B/C/Config.pm blib/lib/B/C/Config.pm
cp lib/B/CC.pm blib/lib/B/CC.pm
make[1]: Entering directory '/home/jkeenan/.cpanm/work/1486670810.24261/B-C-1.54/ByteLoader'
cp BcVersions.pod ../blib/lib/BcVersions.pod
cp ByteLoader.pm ../blib/lib/ByteLoader.pm
Running Mkbootstrap for ByteLoader ()
chmod 644 "ByteLoader.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- ByteLoader.bs ../blib/arch/auto/ByteLoader/ByteLoader.bs 644
cc -c -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.25.10/x86_64-linux/CORE" byterun.c
byterun.c: In function âbyterunâ:
byterun.c:1838:42: error: âunion _xnvuâ has no member named âxpad_cop_seqâ
((XPVNV*)(SvANY(bstate->bs_sv)))->xnv_u.xpad_cop_seq.xlow = arg;
^
byterun.c:1848:42: error: âunion _xnvuâ has no member named âxpad_cop_seqâ
((XPVNV*)(SvANY(bstate->bs_sv)))->xnv_u.xpad_cop_seq.xhigh = arg;
^
Makefile:335: recipe for target 'byterun.o' failed
make[1]: *** [byterun.o] Error 1
make[1]: Leaving directory '/home/jkeenan/.cpanm/work/1486670810.24261/B-C-1.54/ByteLoader'
Makefile:596: recipe for target 'subdirs' failed
make: *** [subdirs] Error 2
-> FAIL Installing B::C failed. See /home/jkeenan/.cpanm/work/1486670810.24261/build.log for details. Retry with --force to force install it.
3 distributions installed
Subject: | perl-5.25.10-debugging-V.txt |
Summary of my perl5 (revision 5 version 25 subversion 10) configuration:
Commit id: 7f8a472bea19cb7746a1be14c8fe5cfde32c6363
Platform:
osname=linux
osvers=4.4.0-62-generic
archname=x86_64-linux
uname='linux zareason 4.4.0-62-generic #83-ubuntu smp wed jan 18 14:10:15 utc 2017 x86_64 x86_64 x86_64 gnulinux '
config_args='-des -Dusedevel -Uversiononly -Dprefix=/home/jkeenan/testing/blead -Dman1dir=none -Dman3dir=none -DDEBUGGING'
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 -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
optimize='-O2 -g'
cppflags='-fwrapv -DDEBUGGING -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 -g -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options:
DEBUGGING
HAS_TIMES
PERLIO_LAYERS
PERL_COPY_ON_WRITE
PERL_DONT_CREATE_GVSV
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 Feb 9 2017 14:58:59
%ENV:
PERLBREW_BASHRC_VERSION="0.67"
PERLBREW_HOME="/home/jkeenan/.perlbrew"
PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/man"
PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin:/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin"
PERLBREW_PERL="perl-5.24.1"
PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew"
PERLBREW_VERSION="0.67"
PERL_WORKDIR="/home/jkeenan/gitwork/perl"
@INC:
lib
/home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.10/x86_64-linux
/home/jkeenan/testing/blead/lib/perl5/site_perl/5.25.10
/home/jkeenan/testing/blead/lib/perl5/5.25.10/x86_64-linux
/home/jkeenan/testing/blead/lib/perl5/5.25.10
.