develooper Front page | perl.perl5.porters | Postings from February 2005

Re: Smoke [5.8.6] 23856 FAIL(XF) hp-ux 11.11/64 (PA-2.0/32/1 cpu)

Thread Previous
From:
Nicholas Clark
Date:
February 5, 2005 07:32
Subject:
Re: Smoke [5.8.6] 23856 FAIL(XF) hp-ux 11.11/64 (PA-2.0/32/1 cpu)
Message ID:
20050205153246.GZ13998@plum.flirble.org
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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About