Date: Tue, 17 Feb 1998 17:54:43 +0200 (IST) From: Eli Zaretskii To: Eric Rudd cc: djgpp AT delorie DOT com Subject: Re: modfication time in the future ? In-Reply-To: <34E89530.6B766D8@cyberoptics.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Mon, 16 Feb 1998, Eric Rudd wrote: > I started getting this message when I moved to a new computer with Win > 95 on it. The message only appears when shelled out to DOS, and then > only about every other make; I have never seen it in MS-DOS mode. I > haven't been able to figure out whether this represents a bug in MAKE, > or a bug in the Win 95 support for DOS programs. This is a known problem with the FAT32 volumes and DOS 7.1 which supports them. (Does the ``new computer'' use FAT32?) File time stamps on FAT volumes (both FAT16 and FAT32) have 2-second granularity. When a file is created, DOS/Windows should convert the current system time into the file time by truncating or rounding it to the nearest even second. The problem is that, unlike previous versions of DOS/Windows, the version of DOS which comes with FAT32 seems to *round* the time (previous versions were apparently truncating it). This sometimes makes the file timestamp be newer than the current system clock. (If you ask me, this is Microsoft's bug, but so what else is new?) So when Make looks at the file which was created at an odd second, there is a possibility that the file's time seems like being in the future. The probability of this is higher on fast machines. Unfortunately, I cannot fix this bug at this time because I don't have access to a FAT32-based machine. One thing that bothers me is whether the time rounding as explained above indeed happens (it is all based on a guess, I couldn't verify it myself, and I have never seen any piece of documentation that describe this officially). It would be great if you could investigate this problem and explain how does it really happen, and even maybe suggest a bugfix. I'm told that the next version of GNU Make will be released in a couple of months, so now is a good time to fix this.