bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Simpler example of pathological behavior of directory caching


From: Paul Smith
Subject: Re: Simpler example of pathological behavior of directory caching
Date: Thu, 06 Oct 2016 15:06:20 -0400

On Thu, 2016-10-06 at 11:47 -0700, Kyle Rose wrote:
> On Thu, Oct 6, 2016 at 11:38 AM, Paul Smith <address@hidden> wrote:
> > You should include the version of GNU make that you're using; my
> > version works as expected:
> > 
> > $ make --version
> > GNU Make 4.2.1
> 
> Funny you should mention that:
> 
> $ make --version
> GNU Make 4.2.1
> 
> 4.2.1 definitely broken, at least on my system.

It works on my system.  I've tried it multiple times.  I'm using Ubuntu
GNOME 16.04.1, with GNU libc 2.23, on an ext4 filesystem.

I can't explain why your system is behaving differently.  Perhaps your
version of libc has an issue with the glob() or fnmatch() functions
(it's happened before).  Or maybe there's a bug in GNU make which is
system-dependent in some way.

> >> Why not refresh the cache when the directory's mtime has changed?
> > 
> > Because not all systems have the same rules for directory mtime as
> > POSIX does, so that's not a reliable/portable indicator.
> 
> What does POSIX have to say about returning the wrong value for
> $(wildcard ...)?

Nothing.  POSIX doesn't define make functions like $(wildcard ...);
those are a purely GNU make construct.

> > There's no question the caching needs to be improved.
> 
> In any event, the existing behavior is a flat-out defect and should
> be corrected.

Clearly, but it appears to be a defect that can only reproduced on your
system (so far), so you'll have to do a bit more digging.  Rewriting
the directory caching facility isn't the answer.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]