Bug#1018289: perl: FTBFS on hurd-i386: NDBM not getting linked against libgdbm-compat

Samuel Thibault sthibault at debian.org
Sun Aug 28 12:41:48 BST 2022


Package: perl
Version: 5.34.0-5
Severity: important

Hello,

perl currently FTBFS on hurd-i386: 

https://buildd.debian.org/status/fetch.php?pkg=perl&arch=hurd-i386&ver=5.34.0-5&stamp=1661681924&raw=0

Failed 3 tests out of 2528, 99.88% okay.
        ../ext/NDBM_File/t/ndbm.t
        ../ext/ODBM_File/t/odbm.t
        ../lib/DBM_Filter/t/01error.t


They're all of the same kind:


ext/NDBM_File/t/ndbm ............................................. #   Failed test 'use NDBM_File;'
#   at ../../t/lib/dbmt_common.pl line 20.
#     Tried to use 'NDBM_File'.
#     Error:  Can't load '../../lib/auto/NDBM_File/NDBM_File.so' for module NDBM_File: ../../lib/auto/NDBM_File/NDBM_File.so: undefined symbol: dbm_nextkey at ../../lib/XSLoader.pm line 93.
#   at ../../lib/NDBM_File.pm line 12.
# Compilation failed in require at ../../t/lib/dbmt_common.pl line 20.
# BEGIN failed--compilation aborted at ../../t/lib/dbmt_common.pl line 20.
NDBM_File must define either a TIEHASH() or a new() method at ../../t/lib/dbmt_common.pl line 38.
Compilation failed in require at t/ndbm.t line 5.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 2.
FAILED at test 1


dbm_nextkey is properly in libgdbm_compat.so, but NDBM_File.so is not
getting linked against it:


./miniperl -Ilib make_ext.pl lib/auto/NDBM_File/NDBM_File.so  MAKE="make" LIBPERL_A=libperl.a LINKTYPE=dynamic
Warning (mostly harmless): No library found for -lndbm
Warning (mostly harmless): No library found for -ldbm
Warning (mostly harmless): No library found for -lucb
Generating a Unix-style Makefile
Writing Makefile for NDBM_File
make[3]: Entering directory '/<<PKGBUILDDIR>>/build-static/ext/NDBM_File'
Running Mkbootstrap for NDBM_File ()
chmod 644 "NDBM_File.bs"
/<<PKGBUILDDIR>>/build-static/ext/NDBM_File/../../miniperl "-I../../lib" -MExtUtils::Command::MM -e 'cp_nonempty' -- NDBM_File.bs ../../lib/auto/NDBM_File/NDBM_File.bs 644
"../../miniperl" "-I../../lib" "../../lib/ExtUtils/xsubpp" -noprototypes -typemap '/<<PKGBUILDDIR>>/build-static/ext/NDBM_File/../../lib/ExtUtils/typemap' -typemap '/<<PKGBUILDDIR>>/build-static/ext/NDBM_Fi
mv NDBM_File.xsc NDBM_File.c
i686-gnu-gcc -c   -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -DAPPLLIB_EXP="/usr/lib/i386-gnu/perl-base" -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wforma
rm -f ../../lib/auto/NDBM_File/NDBM_File.so
i686-gnu-gcc  -shared -Wl,-z,relro -L/usr/local/lib -fstack-protector-strong  NDBM_File.o  -o ../../lib/auto/NDBM_File/NDBM_File.so  \
      \

chmod 755 ../../lib/auto/NDBM_File/NDBM_File.so


while on linux ports it looks like that:

rm -f ../../lib/auto/NDBM_File/NDBM_File.so
x86_64-linux-gnu-gcc  -shared -Wl,-z,relro -L/usr/local/lib -fstack-protector-strong  NDBM_File.o  -o ../../lib/auto/NDBM_File/NDBM_File.so  \
   -lgdbm -lgdbm_compat   \


Notably on hurd there aren't the "harmless" messages about -ldbm ; it's
supposed to use -lgdbm_compat, as hinted from hints/linux.pl, sourced
from hints/gnu.pl, but for some reason this isn't working any more?

Samuel

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, arm64

Kernel: Linux 5.19.0 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages perl depends on:
ii  dpkg               1.21.9
ii  libperl5.34        5.34.0-5
ii  perl-base          5.34.0-5
ii  perl-modules-5.34  5.34.0-5

Versions of packages perl recommends:
ii  netbase  6.3

Versions of packages perl suggests:
pn  libtap-harness-archive-perl  <none>
ii  libterm-readline-gnu-perl    1.42-2+b1
ii  make                         4.3-4.1
ii  perl-doc                     5.34.0-5

-- no debconf information

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.




More information about the Perl-maintainers mailing list