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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.