build error; missing dependencies on *every* new applet

walter harms wharms at bfs.de
Wed Nov 25 11:07:16 UTC 2009



Alessandro Rubini schrieb:
> Aboud dependent and target with the same timestamp, I wrote:
>> I'd say it's a bug in make, but the program has been definitely
>> designed when nobody managed to fulfill a rule in less than one second.
> 
> Actually I hadn't give enough brain to the issue.
> I'm now convinced we have no bug in either make or the makefiles.
> 
> If a rule is so fast that it makes the target same-timed as the
> dependent, than it's correct for make to not rebuild next time.  But
> if you touch the depenent at the same time the target was built, then
> it's your fault.
> 
> We simply need finer-grained timestamps, which is supported in the
> kernel but only in very few filesystems (ext4, ubifs, xfs and a few other
> strange cases IIGC -- if I grep correctly).
> 
> While I didn't test it in /dev/shm as Bernhard suggested in his last
> message, I guess his implied point was that in /dev/shm it works.
> That's because in-memory inodes have timespecs for the three unix
> times, not only seconds, but such precision is lost when you pass
> through filesystem sotrage.
> 


It would be ok if make checks only for OLDER ("a.o<b.c") files that would make
sure that same time is no problem. I guess make employs that strategy  (some one should
ask/try that case). I must admit that in all cases i have encountered so far the problem
was with the script logic not the make itself (what is amazing given the age).

re,
 wh


More information about the busybox mailing list