Bug#890242: perl: FTBFS with glibc-2.27: some symbols or patterns disappeared in the symbols file

Aurelien Jarno aurel32 at debian.org
Mon Feb 12 11:53:12 UTC 2018


Package: perl
Version: 5.26.1-4
Severity: important
Tags: patch
User: debian-glibc at lists.debian.org
Usertags: 2.27

perl 5.26.1-4 fails to build with glibc 2.27 (2.27-0experimental0 from
experimental):

| dpkg-gensymbols -plibperl5.26 -Pdebian/build/libperl5.26
| dpkg-gensymbols: warning: some symbols or patterns disappeared in the symbols file: see diff output below
| dpkg-gensymbols: warning: debian/build/libperl5.26/DEBIAN/symbols doesn't match completely debian/libperl5.26.symbols
| --- debian/libperl5.26.symbols (libperl5.26_5.26.1-4_amd64)
| +++ dpkg-gensymbolsNMSrwX       2018-02-07 20:39:42.645793404 +0000
| @@ -1809,7 +1809,7 @@
|   XS_utf8_unicode_to_native at Base 5.26.0~rc1
|   XS_utf8_upgrade at Base 5.26.0~rc1
|   XS_utf8_valid at Base 5.26.0~rc1
| - _LIB_VERSION at Base 5.26.0~rc1
| +#MISSING: 5.26.1-4# _LIB_VERSION at Base 5.26.0~rc1
|   boot_DynaLoader at Base 5.26.0~rc1
|   cv_flags_names at Base 5.26.0~rc1
|   first_sv_flags_names at Base 5.26.0~rc1
| debian/rules:577: recipe for target 'binary-arch' failed
| make: *** [binary-arch] Error 1
| dpkg-buildpackage: error: fakeroot debian/rules binary-arch subprocess returned exit status 2

A full build logs is available there:
http://aws-logs.debian.net/2018/02/07/glibc-exp/perl_5.26.1-4_unstable_glibc-exp.log

Starting with glibc 2.27, support for the "ieee" library (part of SVID
specification) has been removed. The libieee.a library is therefore not
shipped anymore. perl correctly detects that it is not available and
build fine, but it introduces a small symbol change, as _LIB_VERSION is 
provided by libieee.a.

The solution for it to work with both glibc 2.27 and older version is to
mark the symbol as optional. This should not be a problem, as a package
which needs the "ieee" library has to link against libieee.a which will
then provide the symbols. In addition no such package perl package has
been found during the archive rebuild.

Therefore the following simple patch should be enough to fix the issue:

--- perl-5.26.1/debian/libperl5.26.symbols
+++ perl-5.26.1/debian/libperl5.26.symbols
@@ -1809,7 +1809,7 @@
  XS_utf8_unicode_to_native at Base 5.26.0~rc1
  XS_utf8_upgrade at Base 5.26.0~rc1
  XS_utf8_valid at Base 5.26.0~rc1
- _LIB_VERSION at Base 5.26.0~rc1
+ (optional)_LIB_VERSION at Base 5.26.0~rc1
  boot_DynaLoader at Base 5.26.0~rc1
  cv_flags_names at Base 5.26.0~rc1
  first_sv_flags_names at Base 5.26.0~rc1

Could you please apply it in the next upload?

Thanks,
Aurelien




More information about the Perl-maintainers mailing list