Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 542 forks source link

building miniperl fails with -Dusedefaultstrict in dist/Exporter/lib/Exporter.pm line 38 #18156

Closed kentfredric closed 4 years ago

kentfredric commented 4 years ago

https://github.com/Perl/perl5/blob/aa6cf46819b075024f8b18571474f2228eb31541/dist/Exporter/lib/Exporter.pm#L38

sh Configure -de '-Dprefix=/home/kent/perl5/perlbrew/perls/5.33.2-nossp-nopmc-nodot-strict' \
 '-Dcc=x86_64-pc-linux-gnu-gcc' \
 '-Dar=x86_64-pc-linux-gnu-ar' \
 '-Dnm=x86_64-pc-linux-gnu-nm' \
 '-Dcpp=x86_64-pc-linux-gnu-cpp' \
 '-Dranlib=x86_64-pc-linux-gnu-ranlib' \
 '-Ddefault_inc_excludes_dot' \
 '-Dusedefaultstrict' \
 '-Doptimize= -fstack-protector-strong -fno-stack-protector -O3 -march=native -mtune=native' \
 '-Dman1dir=none' \
 '-Dman3dir=none' \
 '-Dusedevel' \
 '-Accflags= -fstack-protector-strong -fno-stack-protector -DPERL_DISABLE_PMC' \
 '-Aldflags= -fstack-protector-strong -fno-stack-protector' \
 '-A'eval:scriptdir=/home/kent/perl5/perlbrew/perls/5.33.2-nossp-nopmc-nodot-strict/bin'' && \ 
 make -j1 && make install
x86_64-pc-linux-gnu-gcc -c -DPERL_CORE -fstack-protector-strong -fno-stack-protector -DPERL_DISABLE_PMC -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -fstack-protector-strong -fno-stack-protector -O3 -march=native -mtune=native -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement time64.c
x86_64-pc-linux-gnu-gcc -c -DPERL_CORE -fstack-protector-strong -fno-stack-protector -DPERL_DISABLE_PMC -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -std=c89 -fstack-protector-strong -fno-stack-protector -O3 -march=native -mtune=native -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement miniperlmain.c
x86_64-pc-linux-gnu-gcc -fstack-protector-strong -fno-stack-protector -L/usr/local/lib -o miniperl \
    opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o  -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc 
./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl.  Please run make minitest; exit 1'
Can't use string ("Exporter::EXPORT") as an ARRAY ref while "strict refs" in use at dist/Exporter/lib/Exporter.pm line 38.
BEGIN failed--compilation aborted.
Failed to build miniperl. Please run make minitest
toddr commented 4 years ago

-Dusedefaultstrict is an experimental feature and in short does not work at this time. I will be putting in some pull requests shortly to start shoring up strictness in blead.

My first goal is to get to the point that I can do make test_prep which doesn't work at this time.

kentfredric commented 3 years ago

You could just leave the bug open, and then, close it when the problem is fixed. Closing it without fixing the problem doesn't really solve anything. :shrug:

It just makes it more likely that you'll not fix the bug.