Subject: | Won't build with statically built perls |
Hi,
Currently, Encode can't be built with statically built perls (ie. perls without dynamic loading -Uusedl).
bleadbuild.log is a log of building the current bleadperl
I cloned the p5-Encode repository from Github and found that the build failures started with version
2.78 (buildfromgithubrepo.log)
Going back a bit further I found that whilst the build failure wasn't evident before 2.78, the
testsuite failed (testfailures2_76.log). The testsuite started failing with statically-built perls
with 2.75, 2.74 being the last version of Encode which built and tested cleanly.
In order to reproduce one can build a statically built perl with perlbrew:
perlbrew install perl-5.20.1 -U usedl
Many thanks.
Subject: | bleadbuild.log |
Trying struct stat st_atime_n...NOT found.
Trying struct stat st_atim.tv_nsec...found.
Trying struct stat st_uatime...NOT found.
You seem to have stat() subsecond timestamps.
(Your struct stat has them, but the filesystems must help.)
Processing hints file hints/linux.pl
Generating a Unix-style Makefile
Writing Makefile for Time::HiRes
make[1]: Entering directory `/home/bingos/repos/perl.git/cpan/Time-HiRes'
"../../miniperl" "-I../../lib" "-I../../lib" "../../lib/ExtUtils/xsubpp" -typemap "../../lib/ExtUtils/typemap" -typemap "typemap" HiRes.xs > HiRes.xsc && mv HiRes.xsc HiRes.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -O2 -DVERSION=\"1.9728\" -DXS_VERSION=\"1.9728\" "-I../.." -DTI
ME_HIRES_NANOSLEEP -DTIME_HIRES_CLOCK_GETTIME -DTIME_HIRES_CLOCK_GETRES -DTIME_HIRES_CLOCK_NANOSLEEP -DTIME_HIRES_CLOCK -DTIME_HIRES_STAT=4 -DATLEASTFIVEOHOHFIVE HiRes.c
In file included from ../../perl.h:5616:0,
from HiRes.xs:19:
HiRes.c: In function XS_Time__HiRes_constant:
../../embed.h:654:42: warning: iv may be used uninitialized in this function [-Wmaybe-uninitialized]
#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
^
./const-xs.inc:11:6: note: iv was declared here
IV iv;
^
rm -rf ../../lib/auto/Time/HiRes/HiRes.a
/usr/bin/ar cr ../../lib/auto/Time/HiRes/HiRes.a HiRes.o && : ../../lib/auto/Time/HiRes/HiRes.a
chmod 755 ../../lib/auto/Time/HiRes/HiRes.a
make[1]: Leaving directory `/home/bingos/repos/perl.git/cpan/Time-HiRes'
./miniperl -Ilib make_ext.pl lib/auto/Time/Piece/Piece.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Generating a Unix-style Makefile
Writing Makefile for Time::Piece
make[1]: Entering directory `/home/bingos/repos/perl.git/cpan/Time-Piece'
"../../miniperl" "-I../../lib" "-I../../lib" "../../lib/ExtUtils/xsubpp" -typemap "../../lib/ExtUtils/typemap" Piece.xs > Piece.xsc && mv Piece.xsc Piece.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -O2 -DVERSION=\"1.31\" -DXS_VERSION=\"1.31\" "-I../.." Piece.c
rm -rf ../../lib/auto/Time/Piece/Piece.a
/usr/bin/ar cr ../../lib/auto/Time/Piece/Piece.a Piece.o && : ../../lib/auto/Time/Piece/Piece.a
chmod 755 ../../lib/auto/Time/Piece/Piece.a
make[1]: Leaving directory `/home/bingos/repos/perl.git/cpan/Time-Piece'
./miniperl -Ilib make_ext.pl lib/auto/Unicode/Collate/Collate.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Making header files for XS...
make[1]: Entering directory `/home/bingos/repos/perl.git/cpan/Unicode-Collate'
"../../miniperl" "-I../../lib" "-I../../lib" "../../lib/ExtUtils/xsubpp" -typemap "../../lib/ExtUtils/typemap" Collate.xs > Collate.xsc && mv Collate.xsc Collate.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -O2 -DVERSION=\"1.14\" -DXS_VERSION=\"1.14\" "-I../.." Collate
.c
rm -rf ../../lib/auto/Unicode/Collate/Collate.a
/usr/bin/ar cr ../../lib/auto/Unicode/Collate/Collate.a Collate.o && : ../../lib/auto/Unicode/Collate/Collate.a
chmod 755 ../../lib/auto/Unicode/Collate/Collate.a
make[1]: Leaving directory `/home/bingos/repos/perl.git/cpan/Unicode-Collate'
./miniperl -Ilib make_ext.pl lib/auto/Unicode/Normalize/Normalize.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Making header files for XS...
Generating a Unix-style Makefile
Writing Makefile for Unicode::Normalize
make[1]: Entering directory `/home/bingos/repos/perl.git/cpan/Unicode-Normalize'
"../../miniperl" "-I../../lib" "-I../../lib" "../../lib/ExtUtils/xsubpp" -typemap "../../lib/ExtUtils/typemap" Normalize.xs > Normalize.xsc && mv Normalize.xsc Normalize.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -O2 -DVERSION=\"1.25\" -DXS_VERSION=\"1.25\" "-I../.." Normali
ze.c
rm -rf ../../lib/auto/Unicode/Normalize/Normalize.a
/usr/bin/ar cr ../../lib/auto/Unicode/Normalize/Normalize.a Normalize.o && : ../../lib/auto/Unicode/Normalize/Normalize.a
chmod 755 ../../lib/auto/Unicode/Normalize/Normalize.a
make[1]: Leaving directory `/home/bingos/repos/perl.git/cpan/Unicode-Normalize'
./miniperl -Ilib make_ext.pl lib/auto/Encode/Byte/Byte.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/Byte in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/CN/CN.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/CN in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/EBCDIC/EBCDIC.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/EBCDIC in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/JP/JP.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/JP in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/KR/KR.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/KR in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/Symbol/Symbol.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/Symbol in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/TW/TW.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/TW in any of cpan dist ext at make_ext.pl line 250.
./miniperl -Ilib make_ext.pl lib/auto/Encode/Unicode/Unicode.a MAKE="make" LIBPERL_A=libperl.a LINKTYPE=static CCCDLFLAGS=
Can't find extension Encode/Unicode in any of cpan dist ext at make_ext.pl line 250.
cc -o perl -fstack-protector -L/usr/local/lib perlmain.o lib/auto/arybase/arybase.a lib/auto/attributes/attributes.a lib/auto/B/B.a lib/auto/Compress/Raw/Bzip2/Bzip2.a lib/auto/Compress/Raw/Zlib/Zlib.a lib/auto/Cwd/Cwd.a lib/auto/Data/Dumper/Dumper.a lib/auto/DB_File/DB
_File.a lib/auto/Devel/Peek/Peek.a lib/auto/Devel/PPPort/PPPort.a lib/auto/Digest/MD5/MD5.a lib/auto/Digest/SHA/SHA.a lib/auto/Encode/Encode.a lib/auto/Fcntl/Fcntl.a lib/auto/File/DosGlob/DosGlob.a lib/auto/File/Glob/Glob.a lib/auto/Filter/Util/Call/Call.a lib/auto/GDBM_
File/GDBM_File.a lib/auto/Hash/Util/Util.a lib/auto/Hash/Util/FieldHash/FieldHash.a lib/auto/I18N/Langinfo/Langinfo.a lib/auto/IO/IO.a lib/auto/IPC/SysV/SysV.a lib/auto/List/Util/Util.a lib/auto/Math/BigInt/FastCalc/FastCalc.a lib/auto/MIME/Base64/Base64.a lib/auto/mro/m
ro.a lib/auto/NDBM_File/NDBM_File.a lib/auto/ODBM_File/ODBM_File.a lib/auto/Opcode/Opcode.a lib/auto/PerlIO/encoding/encoding.a lib/auto/PerlIO/mmap/mmap.a lib/auto/PerlIO/scalar/scalar.a lib/auto/PerlIO/via/via.a lib/auto/POSIX/POSIX.a lib/auto/re/re.a lib/auto/SDBM_Fil
e/SDBM_File.a lib/auto/Socket/Socket.a lib/auto/Storable/Storable.a lib/auto/Sys/Hostname/Hostname.a lib/auto/Sys/Syslog/Syslog.a lib/auto/threads/threads.a lib/auto/threads/shared/shared.a lib/auto/Tie/Hash/NamedCapture/NamedCapture.a lib/auto/Time/HiRes/HiRes.a lib/aut
o/Time/Piece/Piece.a lib/auto/Unicode/Collate/Collate.a lib/auto/Unicode/Normalize/Normalize.a lib/auto/Encode/Byte/Byte.a lib/auto/Encode/CN/CN.a lib/auto/Encode/EBCDIC/EBCDIC.a lib/auto/Encode/JP/JP.a lib/auto/Encode/KR/KR.a lib/auto/Encode/Symbol/Symbol.a lib/auto/Enc
ode/TW/TW.a lib/auto/Encode/Unicode/Unicode.a libperl.a `cat ext.libs` -lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
lib/auto/Encode/Byte/Byte.a(byte_t.o):(.rodata+0xb40): multiple definition of `cp1252_encoding'
lib/auto/Encode/Encode.a(def_t.o):(.rodata+0x80): first defined here
lib/auto/POSIX/POSIX.a(POSIX.o): In function `XS_POSIX_tmpnam':
POSIX.c:(.text+0x3743): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
collect2: error: ld returned 1 exit status
make: *** [perl] Error 1
bingos@azkaban ~/repos/perl.git $
Subject: | buildfromgithubrepo.log |
Message body is not shown because it is too large.
Subject: | testfailures2_76.log |
Message body is not shown because it is too large.