[ET Trac] [Einstein Toolkit] #1864: Cactus build fails on file systems that do not update timestamps all the time

Einstein Toolkit trac-noreply at einsteintoolkit.org
Sun Mar 20 14:52:31 CDT 2016

#1864: Cactus build fails on file systems that do not update timestamps all the
 Reporter:  rhaas   |       Owner:                     
     Type:  defect  |      Status:  new                
 Priority:  major   |   Milestone:                     
Component:  Cactus  |     Version:  development version
 Keywords:          |  
 Ian and I recently ran into an issue caused by a particular file system
 (NFS v4 and also BeeGFS) not updating the file modification time when
 doing this:
 : >make.checked
 which is what the build system uses (since
 0779c17697d3b4a254065c10836770e355071f41] "Cactus: Replace "echo" by ":"
 in makefile" Thu Nov 27 16:35:13 2014 -0500) to update the marker files
 once a directory is finished building. While such a behaviour is not POSIX
 compliant (https://bugzilla.kernel.org/show_bug.cgi?id=6127), we'd still
 want to work around it.

 The simplest solution seems to me to revert
 0779c17697d3b4a254065c10836770e355071f41] and use
 echo "" >make.checked
 again. Erik: since you made the change, would you see any downside to
 reverting it?

 While investigating this Ian also found that some file systems only offer
 1 second granularity in their timestamps (eg ext3 but also possibly XFS
 and NFS) which can negatively affect make if a rule takes less than a
 second to complete. See https://savannah.gnu.org/bugs/?40056#comment0 and
 /Timestamps-and-Make.html . The most conservative approach would be to
 (arrange for) {{{sleep 1}}} to execute after each make recipe.

Ticket URL: <https://trac.einsteintoolkit.org/ticket/1864>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit

More information about the Trac mailing list