Open dslm4515 opened 3 years ago
If I use perl-5.32.0 & perl-cross-1.3.4 instead, build completes without error.
Tried perl-5.35.0 with perl-cross-1.3.6 ... also segfaults like perl-5.34.0
Perl-5.32.1 & perl-cross-1.3.5 compiles fine.
Looks like a change after 5.32.1 breaks under musl.
Perl 5.34.0 compiles fine in chroot. For now, perl-5.32.1 with perl-cross-1.3.6 can be built for the toolchain and perl-5.34.0 can be built during chroot (final/target system). Could be an issue with perl-cross
Attempted to try perl-cross(commit b1b85b6) with perl 5.35.1:
make crosspatch
make[1]: Entering directory '/mnt/oml/sources/perl-5.35.1'
make[1]: Nothing to be done for 'crosspatch'.
make[1]: Leaving directory '/mnt/oml/sources/perl-5.35.1'
make miniperl
make[1]: Entering directory '/mnt/oml/sources/perl-5.35.1'
make[1]: 'miniperl' is up to date.
make[1]: Leaving directory '/mnt/oml/sources/perl-5.35.1'
make dynaloader
make[1]: Entering directory '/mnt/oml/sources/perl-5.35.1'
./miniperl_top configpm
Use of uninitialized value $t in string eq at configpm line 345.
Use of uninitialized value $s in numeric eq (==) at configpm line 345.
Use of uninitialized value $s in numeric eq (==) at configpm line 348.
Use of uninitialized value $s in numeric eq (==) at configpm line 348.
Use of uninitialized value $s in concatenation (.) or string at configpm line 358.
Use of uninitialized value in pattern match (m//) at configpm line 428.
Use of uninitialized value $osname in string eq at configpm line 461.
Use of uninitialized value $osname in string eq at configpm line 462.
Use of uninitialized value $osname in sprintf at configpm line 465.
Use of uninitialized value $osname in sprintf at configpm line 465.
Use of uninitialized value $osname in sprintf at configpm line 465.
written lib/Config.pod
updated lib/Config.pm
updated lib/Config_heavy.pl
syntax error at lib/Config_heavy.pl line 1458, near "x;"
Compilation failed in require at configpm line 1144.
make[1]: *** [Makefile:207: lib/Config.pm] Error 255
make[1]: Leaving directory '/mnt/oml/sources/perl-5.35.1'
make: *** [Makefile:80: all] Error 2
Looking at 'synatx error' of lib/Config_heavy.pl line 1458 ... looks different when compared to a 5.32.1 build:
version='5.35.1'
version_patchlevel_string='version 35 subversion 1'
versiononly='undef'
vi=''
xlibpth=''
yacc='yacc'
yaccflags=''
zcat=''
zip='zip'
!END!
our $byteorder = '?'x;
s/(byteorder=)(['"]).*?\2/$1$2$Config::byteorder$2/m;
my $config_sh_len = length $_;
our $Config_SH_expanded = "\n$_" . << 'EOVIRTUAL';
ccwarnflags=' -Wall -Werror=pointer-arith -Werror=vla -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement'
EOVIRTUAL
eval {
# do not have hairy conniptions if this isnt available
require 'Config_git.pl';
$Config_SH_expanded .= $Config::Git_Data;
1;
} or warn "Warning: failed to load Config_git.pl, something strange about this perl...\n";
If restart the build... copy perl-cross over perl-5.35.1 source, then configure perl-5.35.1 source, and only do:
make miniperl
Build fails on make dynaloader
.
Quickly built perl-5.32.1 and copied it's miniperl
to perl-5.35.1 source tree... now make dynaloader
succeeds. But if i do make
then build still fails with a segfault:
Generating a Unix-style Makefile
Writing Makefile for Unicode::Collate
cd dist/threads-shared/ && ../../miniperl_top -I../../lib Makefile.PL \
INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none \
PERL_CORE=1 LIBPERL_A=libperl.a PERL="../../miniperl_top"
Generating a Unix-style Makefile
Writing Makefile for threads
./miniperl_top autodoc.pl
make[1]: *** [Makefile:383: pod/perlintern.pod] Segmentation fault
make[1]: *** Waiting for unfinished jobs....
Generating a Unix-style Makefile
Writing Makefile for threads::shared
make[1]: Leaving directory '/mnt/oml/sources/perl-5.35.1'
make: *** [Makefile:81: all] Error 2
oml:/mnt/oml/sources/perl-5.35.1
make
target order:
./miniperl_top autodoc.pl
Copied miniperl
and miniperl_top
from perl-5.32.1 after building miniperl... in hopes to avoid segfault
miniperl
and miniperl_top
is cross-compiled
Perl-5.34.0 configures fine after unpacking perl-cross-1.3.6 over it, but build segfaults:
kernel log shows: