Subject: | undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190 |
Installing PadWalker version 2.4 fails with Perl 5.16.3 (CentOS 7).
Steps to reproduce:
docker run --rm centos:7 sh -c 'yum -y install cpanminus gcc && cpanm PadWalker'
Build log attached.
Note: PadnameUTF8 was added in Perl 5.17.4.
Subject: | 2020-09-27_build_Padwalker.log |
cpanm (App::cpanminus) 1.6922 on perl 5.016003 built for x86_64-linux-thread-multi
Work directory is /root/.cpanm/work/1601200906.328
You have make /usr/bin/make
You have LWP 6.05
You have /usr/bin/tar: tar (GNU tar) 1.26
Copyright (C) 2011 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.
--> Working on ROBIN/PadWalker-2.4.tar.gz
Fetching http://www.cpan.org/authors/id/R/RO/ROBIN/PadWalker-2.4.tar.gz
-> OK
Unpacking PadWalker-2.4.tar.gz
Entering PadWalker-2.4
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.68)
Configuring PadWalker-2.4
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for PadWalker
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.68)
Building and testing PadWalker-2.4
cp PadWalker.pm blib/lib/PadWalker.pm
/usr/bin/perl /usr/share/perl5/vendor_perl/ExtUtils/xsubpp -typemap /usr/share/perl5/ExtUtils/typemap PadWalker.xs > PadWalker.xsc && mv PadWalker.xsc PadWalker.c
gcc -c -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -DVERSION=\"2.4\" -DXS_VERSION=\"2.4\" -fPIC "-I/usr/lib64/perl5/CORE" PadWalker.c
PadWalker.xs: In function 'pads_into_hash':
PadWalker.xs:272:15: warning: implicit declaration of function 'PadnameUTF8' [-Wimplicit-function-declaration]
hv_store((is_our ? our_hash : my_hash), name_str, PadnameUTF8(name_sv) ? -name_len : name_len,
^
PadWalker.xs: In function 'XS_PadWalker_set_closed_over':
PadWalker.xs:574:19: warning: unused variable 'restore_type' [-Wunused-variable]
int restore_type = SvTYPE(restore);
^
Running Mkbootstrap for PadWalker ()
chmod 644 PadWalker.bs
rm -f blib/arch/auto/PadWalker/PadWalker.so
gcc -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro PadWalker.o -o blib/arch/auto/PadWalker/PadWalker.so \
\
chmod 755 blib/arch/auto/PadWalker/PadWalker.so
cp PadWalker.bs blib/arch/auto/PadWalker/PadWalker.bs
chmod 644 blib/arch/auto/PadWalker/PadWalker.bs
Manifying blib/man3/PadWalker.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/closure.t line 2.
Compilation failed in require at t/closure.t line 2.
BEGIN failed--compilation aborted at t/closure.t line 2.
t/closure.t ...
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/dm.t line 2.
Compilation failed in require at t/dm.t line 2.
BEGIN failed--compilation aborted at t/dm.t line 2.
t/dm.t ........
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/foo.t line 2.
Compilation failed in require at t/foo.t line 2.
BEGIN failed--compilation aborted at t/foo.t line 2.
t/foo.t .......
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/our.t line 2.
Compilation failed in require at t/our.t line 2.
BEGIN failed--compilation aborted at t/our.t line 2.
t/our.t .......
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/recurse.t line 2.
Compilation failed in require at t/recurse.t line 2.
BEGIN failed--compilation aborted at t/recurse.t line 2.
t/recurse.t ...
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/sub.t line 2.
Compilation failed in require at t/sub.t line 2.
BEGIN failed--compilation aborted at t/sub.t line 2.
t/sub.t .......
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/test.t line 3.
Compilation failed in require at t/test.t line 3.
BEGIN failed--compilation aborted at t/test.t line 3.
t/test.t ......
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 15/15 subtests
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/tt.t line 2.
Compilation failed in require at t/tt.t line 2.
BEGIN failed--compilation aborted at t/tt.t line 2.
t/tt.t ........
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Can't load '/root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so' for module PadWalker: /root/.cpanm/work/1601200906.328/PadWalker-2.4/blib/arch/auto/PadWalker/PadWalker.so: undefined symbol: PadnameUTF8 at /usr/lib64/perl5/DynaLoader.pm line 190.
at t/var_name.t line 1.
Compilation failed in require at t/var_name.t line 1.
BEGIN failed--compilation aborted at t/var_name.t line 1.
t/var_name.t ..
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run
Test Summary Report
-------------------
t/closure.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/dm.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/foo.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/our.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/recurse.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/sub.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/test.t (Wstat: 65280 Tests: 1 Failed: 1)
Failed test: 1
Non-zero exit status: 255
Parse errors: Bad plan. You planned 15 tests but ran 1.
t/tt.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
t/var_name.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
Files=9, Tests=1, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.04 cusr 0.00 csys = 0.06 CPU)
Result: FAIL
Failed 9/9 test programs. 1/1 subtests failed.
make: *** [test_dynamic] Error 255
-> FAIL Installing ROBIN/PadWalker-2.4.tar.gz failed. See /root/.cpanm/work/1601200906.328/build.log for details. Retry with --force to force install it.