Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 625576

Summary: <sys-devel/autoconf-2.69 "autoheader" broken on perl without '.' in @INC ( fails test 38. tools.at:1278: testing autotools and whitespace in file names )
Product: Gentoo Linux Reporter: Kent Fredric (IRC: kent\n) (RETIRED) <kentnl>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED FIXED    
Severity: normal CC: perl
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=554748
https://bugs.gentoo.org/show_bug.cgi?id=635480
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 643378    
Bug Blocks: 612408, 621410    
Attachments: patch fixing autoheader with Perl 5.26

Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2017-07-18 23:38:58 UTC
I swear I reported this earlier, but now I can't find the bug :/

Fortunately, autoheader doesn't appear to be used anywhere important, however, it is still broken by Perl 5.26 '.' removal from @INC ( it falls in the realm of "do" being broken, as per: https://wiki.gentoo.org/wiki/Project:Perl/Dot-In-INC-Removal#The_problem_with_do

This is exposed by a test failure that invokes autoheader, where autoheader has the problem code involving a chdiring into a tempdir, and then loading files from it assuming '.' in @INC, causing the test to fail.

Of course, as with bug #554748 , this is likely to affect all historical versions of autoconf, and all will need some solution applied ( or removal )

Output from test 038:

+++ /var/tmp/portage/sys-devel/autoconf-2.69-r3/work/autoconf-2.69/tests/testsuite.dir/at-groups/38/stderr      2017-07-18 23:08:28.853963234 +0000
@@ -0,0 +1,2 @@
+do " tmp dir with  funny ' $x & #! name /ah9v3DXw/traces.pl" failed, '.' is no longer in @INC; did you mean do "./ tmp dir with  funny ' $x & #! name /ah9v3DXw/traces.pl"? at /var/tmp/portage/sys-devel/autoconf-2.69-r3/work/autoconf-2.69/bin/autoheader line 186.
+autoheader: error: AC_CONFIG_HEADERS not found in  file with  funny ' $x & #! name .in
./tools.at:1310: exit code was 1, expected 0
38. tools.at:1278: 38. autotools and whitespace in file names (tools.at:1278): FAILED (tools.at:1310)
Comment 1 Andreas K. Hüttel archtester gentoo-dev 2017-08-04 10:44:25 UTC
https://lists.gnu.org/archive/html/bug-autoconf/2017-04/msg00002.html

Seems like upstream noone cares.
Comment 2 Andreas K. Hüttel archtester gentoo-dev 2017-08-04 12:02:34 UTC
Created attachment 487898 [details, diff]
patch fixing autoheader with Perl 5.26

Please review the attached patch. It makes the test suite pass with Perl 5.26.
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2017-08-04 15:18:33 UTC
commit 565193ae54cfbf09e592ed5607b3775986d93c53 (HEAD -> master, origin/master, origin/HEAD)
Author: Lars Wendler <polynomial-c@gentoo.org>
Date:   Fri Aug 4 17:17:17 2017

    sys-devel/autoconf: Revbump to add another perl-5.26 fix (bug #625576).
    
    Package-Manager: Portage-2.3.6, Repoman-2.3.3


Keeping this bug open for possible fix of older autoconf versions. I only fixed autoconf-2.69
Comment 4 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2018-09-09 03:55:22 UTC
Just confirming this bug is still occurring in 2.64, which appears to be needed by GCC 8.

Really not interested in stabilizing perl 5.26 until this is put to bed.
Comment 5 Larry the Git Cow gentoo-dev 2018-12-22 18:28:17 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d45b9034d1d769d69a881d3470524b82c87236c3

commit d45b9034d1d769d69a881d3470524b82c87236c3
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: 2018-12-22 18:26:10 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: 2018-12-22 18:28:01 +0000

    sys-devel/autoconf: Revision bump 2.64-r1 for Perl 5.26
    
    This fixes the Perl 5.26 - related failures.
    I observe one more failure (both with and without the patches)
    which may point at some other problem:
    221: Unusual Automake input files                    FAILED (torture.at:1517)
    
    Bug: https://bugs.gentoo.org/625576
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 .../autoconf/{autoconf-2.64.ebuild => autoconf-2.64-r1.ebuild}     | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
Comment 6 Larry the Git Cow gentoo-dev 2018-12-22 19:03:18 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=27f80f1f403f17a8dd7fd3108d178adaafda5e80

commit 27f80f1f403f17a8dd7fd3108d178adaafda5e80
Author:     Andreas K. Hüttel <dilfridge@gentoo.org>
AuthorDate: 2018-12-22 19:02:05 +0000
Commit:     Andreas K. Hüttel <dilfridge@gentoo.org>
CommitDate: 2018-12-22 19:03:02 +0000

    sys-devel/autoconf: Revision bump 2.13-r1 for Perl 5.26
    
    Only one patch needed, the other one modifies code that does
    not exist in this version yet.
    
    Test suite passes in either case, not catching the problem.
    
    Closes: https://bugs.gentoo.org/625576
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>

 .../{autoconf-2.13.ebuild => autoconf-2.13-r1.ebuild}        |  3 ++-
 sys-devel/autoconf/files/autoconf-2.13-perl-5.26.patch       | 12 ++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)