Re: autoconf-2.72d on CentOS 8: testsuite: 11 failed
Paul Eggert <[email protected]>
| Newsgroups | gmane.comp.sysutils.autoconf.bugs |
|---|---|
| Organization | UCLA Computer Science Department |
| Message-ID | <[email protected]> |
On 2023-12-01 08:18, Bruno Haible wrote: > Zack Weinberg wrote: ... >> 2023-12-01+08:27:37.7201689730 configure >> 2023-12-01+08:27:39.8531823020 autom4te.cache/requests ... > 2023-12-01+06:44:03.2893079030 stderr-raw > 2023-12-01+06:44:05.4383178570 configure > 2023-12-01+06:44:05.4393178610 autom4te.cache/requests A difference between Zack's good output and your bad output is that Zack's build did not rebuild configure (it's two seconds older than autom4te.cache/requests) but yours did. I'm not sure exactly what's going wrong. Part of the problem is that I suspects later actions by the bad 'configure' overwrote some timestamps that were treated incorrectly. In reading the code it's clear that it's confused about timestamps in this area as it is using the maximum of two timestamps when it should be using the minimum. I installed the attached patch, which fixes that bug. However, I don't know whether that will address the problem you observed.
0001-Be-more-conservative-about-cache-timestamps.patch
(text/x-patch, 1.1 KB)
From 49ab3a4c5756d7ef40b03111f4c8a351d6bca7b8 Mon Sep 17 00:00:00 2001 From: Paul Eggert <[email protected]> Date: Fri, 1 Dec 2023 09:58:37 -0800 Subject: [PATCH] Be more conservative about cache timestamps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bin/autom4te.in (up_to_date): Fix thinko by using the minimum of the cache files’ timestamps, not the maximum. --- bin/autom4te.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bin/autom4te.in b/bin/autom4te.in index edc51fcf..38a61ac9 100644 --- a/bin/autom4te.in +++ b/bin/autom4te.in @@ -948,11 +948,11 @@ sub up_to_date ($) return 0 if ! -f $tfile || ! -f $ofile; - # The younger of the cache files must be older than the oldest of - # the dependencies. + # Both cache files must be younger than all dependencies, + # so use the minimum of the two cache files' timestamps. my $tmtime = mtime ($tfile); my $omtime = mtime ($ofile); - my ($file, $mtime) = ($tmtime < $omtime + my ($file, $mtime) = ($omtime < $tmtime ? ($ofile, $omtime) : ($tfile, $tmtime)); # stdin is always out of date. -- 2.40.1