[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 perl-5.24.1 on Ubuntu Linux 16.04 LTS. Compilation failed; the first error message was:
#####
Can't locate loadable object for module B::C in @INC ...
#####
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.24.1.trimmed.build.log |
cpanm (App::cpanminus) 1.7042 on perl 5.024001 built for x86_64-linux
Work directory is /home/jkeenan/.cpanm/work/1486670440.23406
You have make /usr/bin/make
You have LWP 6.15
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 Time::HiRes 0 ... Yes (1.9733)
Checking if you have Opcodes 0 ... No
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.24)
Checking if you have ExtUtils::Embed 1.25 ... Yes (1.33)
Checking if you have IPC::Run 0 ... No
Checking if you have B::Flags 0.15 ... No
==> Found dependencies: Opcodes, IPC::Run, B::Flags
Searching Opcodes (0) on cpanmetadb ...
--> Working on Opcodes
[snip]
Successfully installed Opcodes-0.14
[snip]
--> Working on IPC::Run
Successfully installed IPC-Run-0.94
[snip]
--> Working on B::Flags
[snip]
Successfully installed B-Flags-0.16
[snip]
Building and testing B-C-1.54
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" bytecode.pl
cp lib/B/C.pm blib/lib/B/C.pm
cp lib/B/C/Config.pm blib/lib/B/C/Config.pm
cp lib/B/Bblock.pm blib/lib/B/Bblock.pm
cp lib/B/Asmdata.pm blib/lib/B/Asmdata.pm
cp lib/B/CC.pm blib/lib/B/CC.pm
cp perloptree.pod blib/lib/B/perloptree.pod
cp perlcompile.pod blib/lib/B/perlcompile.pod
cp lib/B/Stackobj.pm blib/lib/B/Stackobj.pm
cp lib/B/Bytecode56.pm blib/lib/B/Bytecode56.pm
cp lib/B/Bytecode.pm blib/lib/B/Bytecode.pm
cp lib/B/Disassembler.pm blib/lib/B/Disassembler.pm
cp lib/B/Assembler.pm blib/lib/B/Assembler.pm
make[1]: Entering directory '/home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/ByteLoader'
cp ByteLoader.pm ../blib/lib/ByteLoader.pm
cp BcVersions.pod ../blib/lib/BcVersions.pod
Running Mkbootstrap for ByteLoader ()
chmod 644 "ByteLoader.bs"
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- ByteLoader.bs ../blib/arch/auto/ByteLoader/ByteLoader.bs 644
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux/CORE" byterun.c
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" "/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/ExtUtils/xsubpp" -noprototypes -typemap '/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/ExtUtils/typemap' ByteLoader.xs > ByteLoader.xsc
mv ByteLoader.xsc ByteLoader.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux/CORE" ByteLoader.c
rm -f ../blib/arch/auto/ByteLoader/ByteLoader.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong byterun.o ByteLoader.o -o ../blib/arch/auto/ByteLoader/ByteLoader.so \
\
chmod 755 ../blib/arch/auto/ByteLoader/ByteLoader.so
Manifying 2 pod documents
make[1]: Leaving directory '/home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/ByteLoader'
make[1]: Entering directory '/home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/Stash'
cp Stash.pm ../blib/lib/B/Stash.pm
Running Mkbootstrap for Stash ()
chmod 644 "Stash.bs"
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- Stash.bs ../blib/arch/auto/B/Stash/Stash.bs 644
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" "/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/ExtUtils/xsubpp" -typemap '/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/ExtUtils/typemap' Stash.xs > Stash.xsc
mv Stash.xsc Stash.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.02\" -DXS_VERSION=\"1.02\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux/CORE" Stash.c
rm -f ../blib/arch/auto/B/Stash/Stash.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Stash.o -o ../blib/arch/auto/B/Stash/Stash.so \
\
chmod 755 ../blib/arch/auto/B/Stash/Stash.so
Manifying 1 pod document
make[1]: Leaving directory '/home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/Stash'
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" ByteLoader/hints/522_patched.pl
Can't locate loadable object for module B::C in @INC (@INC contains: /home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/blib/arch /home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/blib/lib /home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1 /home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux /home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1 .) at /home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/blib/lib/B/Bytecode.pm line 109.
Compilation failed in require at (eval 2) line 18.
BEGIN failed--compilation aborted at (eval 2) line 18.
BEGIN failed--compilation aborted.
Running Mkbootstrap for C ()
chmod 644 "C.bs"
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- C.bs blib/arch/auto/B/C/C.bs 644
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" "/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/ExtUtils/xsubpp" -typemap '/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/ExtUtils/typemap' -typemap '/home/jkeenan/.cpanm/work/1486670440.23406/B-C-1.54/typemap' C.xs > C.xsc
mv C.xsc C.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.54\" -DXS_VERSION=\"1.54\" -fPIC "-I/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux/CORE" C.c
rm -f blib/arch/auto/B/C/C.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong C.o -o blib/arch/auto/B/C/C.so \
\
chmod 755 blib/arch/auto/B/C/C.so
cp script/assemble blib/script/assemble
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/assemble
cp script/cc_harness blib/script/cc_harness
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/cc_harness
cp script/disassemble blib/script/disassemble
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/disassemble
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" "-Iblib/arch" "-Iblib/lib" script/perlcc.PL script/perlcc
Extracting perlcc (with variable substitutions)
cp script/perlcc blib/script/perlcc
"/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/perlcc
Manifying 3 pod documents
Manifying 11 pod documents
make: *** No rule to make target 'subdirs-test', needed by 'test'. Stop.
-> FAIL Installing B::C failed. See /home/jkeenan/.cpanm/work/1486670440.23406/build.log for details. Retry with --force to force install it.
3 distributions installed
Subject: | perl-5.24.1-V.txt |
Summary of my perl5 (revision 5 version 24 subversion 1) configuration:
Platform:
osname=linux, osvers=4.4.0-59-generic, archname=x86_64-linux
uname='linux zareason 4.4.0-59-generic #80-ubuntu smp fri jan 6 17:47:47 utc 2017 x86_64 x86_64 x86_64 gnulinux '
config_args='-de -Dprefix=/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1 -Aeval:scriptdir=/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/bin'
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_PRESERVE_IVUV 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 Jan 14 2017 20:57:56
%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:
/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
/home/jkeenan/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
.