On Thu, 2016-10-06 at 11:47 -0700, Kyle Rose wrote:
> On Thu, Oct 6, 2016 at 11:38 AM, Paul Smith <psm...@gnu.org> 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.

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to