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

2018-02-12 Thread Niko Tyni
On Mon, Feb 12, 2018 at 12:53:12PM +0100, Aurelien Jarno wrote:
> Package: perl
> Version: 5.26.1-4
> Severity: important
> Tags: patch
> User: debian-gl...@lists.debian.org
> Usertags: 2.27
> 
> perl 5.26.1-4 fails to build with glibc 2.27 (2.27-0experimental0 from
> experimental):

> | - _LIB_VERSION@Base 5.26.0~rc1
> | +#MISSING: 5.26.1-4# _LIB_VERSION@Base 5.26.0~rc1

> 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:

Many thanks! Will fix once the gdbm transition is over.
-- 
Niko



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

2018-02-12 Thread Aurelien Jarno
Package: perl
Version: 5.26.1-4
Severity: important
Tags: patch
User: debian-gl...@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 +
| @@ -1809,7 +1809,7 @@
|   XS_utf8_unicode_to_native@Base 5.26.0~rc1
|   XS_utf8_upgrade@Base 5.26.0~rc1
|   XS_utf8_valid@Base 5.26.0~rc1
| - _LIB_VERSION@Base 5.26.0~rc1
| +#MISSING: 5.26.1-4# _LIB_VERSION@Base 5.26.0~rc1
|   boot_DynaLoader@Base 5.26.0~rc1
|   cv_flags_names@Base 5.26.0~rc1
|   first_sv_flags_names@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@Base 5.26.0~rc1
  XS_utf8_upgrade@Base 5.26.0~rc1
  XS_utf8_valid@Base 5.26.0~rc1
- _LIB_VERSION@Base 5.26.0~rc1
+ (optional)_LIB_VERSION@Base 5.26.0~rc1
  boot_DynaLoader@Base 5.26.0~rc1
  cv_flags_names@Base 5.26.0~rc1
  first_sv_flags_names@Base 5.26.0~rc1

Could you please apply it in the next upload?

Thanks,
Aurelien