bug-make
[Top][All Lists]
Advanced

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

[bug #40610] gmake 4.0 loops rebuilding included makefiles


From: anonymous
Subject: [bug #40610] gmake 4.0 loops rebuilding included makefiles
Date: Sun, 17 Nov 2013 21:11:09 +0000
User-agent: Mozilla/5.0 (X11; NetBSD amd64; rv:25.0) Gecko/20100101 Firefox/25.0 SeaMonkey/2.22

Follow-up Comment #2, bug #40610 (project make):

It loops running the recipe for objdir/depend.mk. It does not rerun the mkdir.
Moving the mkdir into the recipe for depend.mk does not change the behavior;
however, removing objdir from the depends of depend.mk does.

If depend.mk exists and is newer than objdir, e.g. by creating both by hand
and then touching objdir/depend.mk, it doesn't attempt to rebuild depend.mk at
all and doesn't get into trouble.  However, it seems that once it runs the
depend.mk recipe it gets stuck.

It looks like the proximate cause is that after creating objdir/depend.mk,
objdir is newer than depend.mk, typically by about 1 ms. It looks like the
difference vs. 3.82 is that 3.82 doesn't notice this. (Possibly it just isn't
reading the fractional timestamps.)

What happens, based on the -d output and printing the full timestamps of
objdir and objdir/depend.mk at the end of the objdir/depend.mk recipe, is that
it creates depend.mk, which leaves depend.mk older than objdir, does

   Re-executing[1]: gmake -d

decides it needs to build depend.mk because it's older than objdir, and
thereby goes into an infinite loop.

This is looking like the underlying cause is a tmpfs bug, but it would still
probably be a good idea for make to not go into an infinite loop.

    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?40610>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

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