GNU bug report logs - #30631
Automake 1.6 fails to build with perl 5.18.2

Previous Next

Package: automake;

Reported by: Andreas Schwab <schwab <at> linux-m68k.org>

Date: Tue, 27 Feb 2018 18:05:02 UTC

Severity: normal

Tags: fixed

Done: Mathieu Lirzin <mthl <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #14 received at 30631 <at> debbugs.gnu.org (full text, mbox):

From: Torsten Seemann <tseemann <at> unimelb.edu.au>
To: Mathieu Lirzin <mthl <at> gnu.org>
Cc: 30631 <at> debbugs.gnu.org, schwab <at> linux-m68k.org
Subject: Re: bug#30631: Automake 1.6 fails to build with perl 5.18.2
Date: Sun, 4 Mar 2018 15:39:10 +1100
[Message part 1 (text/plain, inline)]
Mathieu,

That patch looks good - removing List::Util altogether is probably the
right thing. And tests too.

For linuxbrew, this is the patch I proposed - it uses `reduce` which has
been part of List::Util from the start (I think).
https://github.com/Linuxbrew/homebrew-core/pull/6352/files

+-use List::Util 'none';

++use List::Util 'reduce';
++sub none (&@) { my $code=shift; reduce { $a && !$code->(local $_ = $b) }
1, @_; }

We appreciate the fast response, as there is lots of infrastructure still
on Ubuntu 14 LTS which uses old Perl 5.18.

Thank you,

Torsten.



A/Prof. Torsten Seemann
*Lead Bioinformatician*
*Melbourne Bioinformatics: melbournebioinformatics.org.au
<http://melbournebioinformatics.org.au>*
*Microbiological Diagnostic Unit Public Health Laboratory:
mduphl.unimelb.edu.au <http://mduphl.unimelb.edu.au>*
*University of Melbourne, Parkville, AUSTRALIA.*


On 4 March 2018 at 10:49, Mathieu Lirzin <mthl <at> gnu.org> wrote:

> Hello,
>
> Torsten Seemann <tseemann <at> unimelb.edu.au> writes:
>
> > The problem is that automake 1.16 is importing the function "none"
> > from perl List::Util module.  Unfortunately, "none" was only added to
> > that module in v 1.33 and Perl 5.18 has an older version.  This only
> > occurs in "bin/automake.in"
> >
> > The simplest patch is for the authors to change
> >
> > use List::Util 'none'
> > =>
> > use List::Util 'any'
> >
> > And replace their use of the function (only one case) as so:
> >
> > && none {
> > =>
> > && ! any {
>
> According to [1] both 'none' and 'any' were added in List::Util 1.33.
>
> There is indeed a portability bug on the Automake side since
> 'http://configure.ac' claims to be compatible with Perl 5.6 and Looking
> at the
> perl distributions [2] it seems that 5.6.2 does not have List::Util.
>
> This requirement could probably be relaxed since Perl 5.6 is 18 years
> old, however this can't be done in the micro (bugfix) release I intend
> to make after fixing this bug.  So let's reimplement it ourselves for
> now.
>
>
>
> How does it sound?
>
> [1] https://metacpan.org/changes/distribution/Scalar-List-Utils#L156
> [2] https://www.cpan.org/src/README.html
>
> --
> Mathieu Lirzin
> GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37
>
>
[Message part 2 (text/html, inline)]

This bug report was last modified 7 years and 70 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.