perl-Term-ReadLine-Gnu-1.24-2.fc21 fails to build due to tests: Provádění(%check): /bin/sh -e /var/tmp/rpm-tmp.pFAPoL + umask 022 + cd /builddir/build/BUILD + cd Term-ReadLine-Gnu-1.24 + expect -c ' spawn make test expect eof exit [lindex [wait] 3] ' spawn make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00checkver.t .. t/00checkver.t .. 1/4 Cannot do `initialize' in Term::ReadLine::Gnu at t/00checkver.t line 35. t/00checkver.t .. Dubious, test returned 2 (wstat 512, 0x200) Failed 3/4 subtests t/callback.t .... Cannot do `initialize' in Term::ReadLine::Gnu at t/callback.t line 32. t/callback.t .... 1/7 t/callback.t .... Dubious, test returned 2 (wstat 512, 0x200) Failed 6/7 subtests t/history.t ..... Cannot do `initialize' in Term::ReadLine::Gnu at t/history.t line 51. t/history.t ..... 1/84 t/history.t ..... Dubious, test returned 2 (wstat 512, 0x200) Failed 83/84 subtests t/readline.t .... Attempt to reload Term/ReadLine/Gnu.pm aborted. Compilation failed in require at t/readline.t line 29. BEGIN failed--compilation aborted at t/readline.t line 29. t/readline.t .... 1/140 t/readline.t .... Dubious, test returned 2 (wstat 512, 0x200) Failed 140/140 subtests Test Summary Report ------------------- t/00checkver.t (Wstat: 512 Tests: 1 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 4 tests but ran 1. t/callback.t (Wstat: 512 Tests: 1 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 7 tests but ran 1. t/history.t (Wstat: 512 Tests: 1 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 84 tests but ran 1. t/readline.t (Wstat: 512 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 2 Parse errors: Bad plan. You planned 140 tests but ran 1. Files=4, Tests=4, 0 wallclock secs ( 0.03 usr 0.01 sys + 0.09 cusr 0.01 csys = 0.14 CPU) Result: FAIL Failed 4/4 test programs. 1/4 subtests failed. The difference between last working and current build root is: Removed packages: ccache-3.1.9 gdb-7.7.1 libblkid-2.24.2 libmount-2.24.2 libuuid-2.24.2 perl-Test-Harness-3.31 readline-6.2 readline-devel-6.2 tzdata-2014c util-linux-2.24.2 Added packages: gdb-7.7.90.20140613 libblkid-2.25 libmount-2.25 libsmartcols-2.25 libuuid-2.25 perl-Test-Harness-3.32 readline-6.3 readline-devel-6.3 tzdata-2014e util-linux-2.25
This is caused by upgrading readline from 6.2 to 6.3.
The reason is DynaLoader cannot load Gnu.so by DynaLoader::bootstrap() call: Can't load 'blib/arch/auto/Term/ReadLine/Gnu/Gnu.so' for module Term::ReadLine::Gnu: blib/arch/auto/Term/ReadLine/Gnu/Gnu.so: undefined symbol: rl_executing_key at /usr/lib64/perl5/DynaLoader.pm line 192 Unfortunately, this croak is discarded somewhere.
There are two symbols missing: [test@fedora-22 Term-ReadLine-Gnu-1.24]$ ldd -r blib/arch/auto/Term/ReadLine/Gnu/Gnu.so linux-vdso.so.1 => (0x00007fffc4dfc000) libreadline.so.6 => /lib64/libreadline.so.6 (0x00007f5af9782000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f5af9558000) libperl.so.5.18 => /lib64/libperl.so.5.18 (0x00007f5af91bc000) libc.so.6 => /lib64/libc.so.6 (0x00007f5af8df6000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f5af8bdb000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f5af89c0000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f5af87bc000) libm.so.6 => /lib64/libm.so.6 (0x00007f5af84b4000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f5af827d000) libutil.so.1 => /lib64/libutil.so.1 (0x00007f5af807a000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5af7e5d000) /lib64/ld-linux-x86-64.so.2 (0x00007f5af9bf4000) libfreebl3.so => /lib64/libfreebl3.so (0x00007f5af7bde000) undefined symbol: rl_executing_key (blib/arch/auto/Term/ReadLine/Gnu/Gnu.so) undefined symbol: rl_executing_keyseq (blib/arch/auto/Term/ReadLine/Gnu/Gnu.so)
The two symbols were removed by Fedora patch 0003-add-TTY-input-audit-support.patch. This breaks API.
Fixed as perl-Term-ReadLine-Gnu-1.24-3.fc21 in F21.
Readline has been fixed in readline-6.3-3.fc22. The perl-Term-ReadLine-Gnu's work-around will be reverted.
Reverted as perl-Term-ReadLine-Gnu-1.24-4.fc21 in F21.