On Sun, Jan 23, 2005 at 10:15:46AM -0600, Steve Peters wrote: > On Sun, Jan 23, 2005 at 04:14:28PM +0100, Abe Timmerman wrote: > > Yup, this is a local filesystem. Perhaps Merijn can shed some light regarding > > the type of fs: > > > > /home on /dev/vg00/lvol5 delaylog,nodatainlog on Sat Sep 25 03:33:08 2004 > > > > > I'm assuming that MakeMaker is getting caught out > > > by timestamps not being what we all expect. > > > > As an aside, I've seen these random failures on OpenBSD as well. I wonder if this bodge will help. Nicholas Clark Change 23935 by nicholas@ship-in-a-bottle on 2005/02/05 15:05:08 Let's (un)do the timewarp, again. Attempt to bodge round Makefile sometimes being older than Makefile.PL Pesky filesystems. Affected files ... ... //depot/perl/lib/ExtUtils/t/Constant.t#11 edit Differences ... ==== //depot/perl/lib/ExtUtils/t/Constant.t#11 (text) ==== @@ -125,6 +125,33 @@ if ($^O eq 'VMS') { $make .= ' all'; } + # Sometimes it seems that timestamps can get confused + + # make failed: 256 + # Makefile out-of-date with respect to Makefile.PL + # Cleaning current config before rebuilding Makefile... + # make -f Makefile.old clean > /dev/null 2>&1 || /bin/sh -c true + # ../../perl "-I../../../lib" "-I../../../lib" Makefile.PL "PERL_CORE=1" + # Checking if your kit is complete... + # Looks good + # Writing Makefile for ExtTest + # ==> Your Makefile has been rebuilt. <== + # ==> Please rerun the make command. <== + # false + + my $timewarp = (-M "Makefile.PL") - (-M "$makefile$makefile_ext"); + # Convert from days to seconds + $timewarp *= 86400; + print "# Makefile.PL is $timewarp second(s) older than $makefile$makefile_ext\n"; + if ($timewarp < 0) { + # Sleep for a while to catch up. + $timewarp = -$timewarp; + $timewarp+=2; + $timewarp = 10 if $timewarp > 10; + print "# Sleeping for $timewarp second(s) to try to resolve this\n"; + sleep $timewarp; + } + print "# make = '$make'\n"; @makeout = `$make`; if ($?) {Thread Previous