Opened 3 years ago

Closed 3 years ago

#4885 closed enhancement (fixed)

Fix perl-5.34.0 test failures

Reported by: ken@… Owned by: ken@…
Priority: normal Milestone: 11.0
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

This was intended to be about the failure I've been seeing in ../cpan/Pod-Usage/t/pod/pod2usage2.t, but now that gdbm-1.20 is in the book there is a further failure.

With what is currently in the book:

{{{Failed 2 tests out of 2541, 99.92% okay.

../cpan/Pod-Usage/t/pod/pod2usage2.t ../ext/GDBM_File/t/gdbm.t

[...] Elapsed: 815 sec u=9.66 s=3.06 cu=474.93 cs=26.23 scripts=2541 tests=1197863 make: * [makefile:799: test] Error 1 }}}

For the first:

cpan/Pod-Usage/t/pod/pod2usage2 .................................. #   Failed test 'Output test pod2usage with relative path works OK'
#   at t/pod/pod2usage2.t line 356.
#                   '#Can't load '../../lib/auto/Fcntl/Fcntl.so' for module Fcntl: ../../lib/auto/Fcntl/Fcntl.so: undefined symbol: Perl_croak_nocontext at ../../lib/XSLoader.pm line 93.
# #^@ at ../../lib/Fcntl.pm line 66.
# #Compilation failed in require at ../../lib/Pod/Perldoc.pm line 8.
# #BEGIN failed--compilation aborted at ../../lib/Pod/Perldoc.pm line 8.
# #Compilation failed in require at /usr/bin/perldoc line 12.
# #BEGIN failed--compilation aborted at /usr/bin/perldoc line 12.
# #sh: line 1: /usr/bin/less: No such file or directory
               ^^^^^^^^^^^^^

and for the second

ext/GDBM_File/t/gdbm ............................................. gdbm_firstkey: Item not found at ../../t/lib/dbmt_common.pl line 52.
Compilation failed in require at t/gdbm.t line 6.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 5.
FAILED--no leader found

That line 6: require '../../t/lib/dbmt_common.pl';

Change History (4)

comment:1 by ken@…, 3 years ago

For the first failure (less not found) I did not originally read the details (or I lacked caffeine) and was led to believe I might be the only one seeing this. Then I looked again and saw the omission of less, but did not think that messing with the dependencies (less requires coreutils which requires perl) would be a good idea.

Then wen zhang reported on 5th July that the test passed if he installed less before perl. I've taken a look at this, and with our revised (LFS10 et seq) build order we have already built all the needed dependencies. But it has taken until now for me to be able to test this.

For this issue, the fix is now in two parts:

  1. Move the install of less immediately before perl in chapter 8.
  2. In the dependencies index, add less to perl's test suite dependencies.

comment:2 by ken@…, 3 years ago

For the gdbm failure, I found a link at https://bugzilla.redhat.com/show_bug.cgi?id=1974288 which led me to https://github.com/Perl/perl5/issues/18915. That was fixed upstream by https://github.com/Perl/perl5/commit/5bc1e5fdd87aa205011512cd1e6cc655bcf677fd i.e. the perl code itself was wrong, rather than the test.

Unfortunately that does not apply cleanly to 5.34.0 (if I read correctly, they had a previous incorrect fix after 5.34.0). Backported, uploaded to https://www.linuxfromscratch.org/patches/downloads/perl/perl-5.34.0-upstream_fixes-1.patch

comment:3 by ken@…, 3 years ago

Owner: changed from lfs-book to ken@…
Status: newassigned

comment:4 by ken@…, 3 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.