On 06-Aug-2006 Craig A. Berry wrote: > At 11:36 AM +0100 8/6/06, Martin J. Evans wrote: > >>Thanks. I've been trying to build 5.8.8 for 2 days now. Each time I run >>mms it gets a little further but I have to wait between runs obviously >>because there is something wrong with my time. The first mms fails with: >> >>Set Default [.c] >>MMS /Descrip= Descrip.MMS all >>%MMS-W-GMFUTURE, Time for [-.BLIB.BIN].EXISTS is in the future: >>6-AUG-2006 12:29:11.00 > >>Note the .EXISTS is in the future. > > That's quite strange. You should be able to reproduce this by doing: > > $ perl -"MExtUtils::Command" -e touch foo.tmp > $ dir/full foo.tmp > > and seeing if the revision date on foo.tmp is in the future. You > might also see if you get incorrect results from one or both of the > following:
The only semi-working perl I have is HP compiled binary unless I could somehow use miniperl. I've included both results: time is 8:40am approx. With HP's perl: =============== $ perl -"MExtUtils::Command" -e touch foo.tmp $ dir/full foo.tmp Directory DKA0:[NICK.MARTIN] FOO.TMP;1 File ID: (24832,28,0) Size: 0/0 Owner: [200,1] Created: 7-AUG-2006 08:40:44.67 Revised: 7-AUG-2006 09:40:44.00 (1) *************************************** Expires: <None specified> Backup: <No backup recorded> Effective: <None specified> Recording: <None specified> Accessed: <None specified> Attributes: <None specified> Modified: <None specified> Linkcount: 1 File organization: Sequential Shelved state: Online Caching attribute: Writethrough File attributes: Allocation: 0, Extend: 0, Global buffer count: 0, No version limit Record format: Stream_LF, maximum 0 bytes, longest 32767 bytes Record attributes: Carriage return carriage control RMS attributes: None Journaling enabled: None File protection: System:RWED, Owner:RWED, Group:RE, World: Access Cntrl List: None Client attributes: None Total of 1 file, 0/0 blocks. > $ perl -e "print scalar localtime;" > Sun Aug 6 13:42:32 2006 $ perl -e "print scalar localtime;" Mon Aug 7 08:42:30 2006 Correct. > $ perl -e "print scalar gmtime;" > Sun Aug 6 18:42:41 2006 $ perl -e "print scalar gmtime;" Mon Aug 7 07:42:52 2006 Correct. > You can see if Perl thinks you are really on daylight saving with: > > $ perl -e "@t=localtime(); print $t[8];" > 1 $ perl -e "@t=localtime(); print $t[8];" 1 With miniperl: ============== I obviously cannot do some of the tests you provided. $ miniperl -e "print scalar localtime;" Mon Aug 7 08:47:38 2006 $ miniperl -e "print scalar gmtime;" Mon Aug 7 07:48:04 2006 $ miniperl -e "@t=localtime(); print $t[8];" 1 All look OK. > If that doesn't print a true value, then it's not recognizing that > DST is in effect. If it's wrong, a 5-line C program that does the > same thing should verify whether the problem is in Perl or in the > CRTL. So other than the revision time it looks OK. CRTL for gmtime and localtime return the correct values - I checked. > A hack that might get you past this issue is: > > --- lib/ExtUtils/Command.pm;-0 Fri Oct 21 03:55:12 2005 > +++ lib/ExtUtils/Command.pm Sun Aug 6 13:30:45 2006 > @@ -149,12 +149,11 @@ Makes files exist, with current timestam > =cut > > sub touch { > - my $t = time; > expand_wildcards(); > foreach my $file (@ARGV) { > open(FILE,">>$file") || die "Cannot write $file:$!"; > close(FILE); > - utime($t,$t,$file); > + utime(undef,undef,$file); > } > } > > [end of patch] > > What that will do in your version of Perl is basically reduce utime() > to a SYS$GETTIM call immediately followed by a tweak to the revision > date in the file header with no intervening UTC offset calculations. > In future versions of Perl, the CRTL's utime() will be involved. Applied and reran perl make and it completed OK - Thank you. mms test had a few issues (some perhaps because of above): t/io/fs...................................FAILED at test 5 t/op/stat.................................FAILED at test 33 ext/Devel/PPPort/t/ppphtest...............FAILED--unexpected output at test 0 ext/List/Util/t/p_tainted.................FAILED--no leader found ext/List/Util/t/weak......................FAILED--unexpected output at test 7 lib/ExtUtils/t/basic......................FAILED at test 67 lib/ExtUtils/t/Command....................FAILED at test 8 lib/ExtUtils/t/Constant...................FAILED at test 23 lib/ExtUtils/t/FIRST_MAKEFILE.............FAILED at test 4 lib/ExtUtils/t/PL_FILES...................FAILED at test 3 lib/vmsish................................FAILED at test 22 Failed 13 test scripts out of 892, 98.54% okay. ### Since not all tests were successful, you may want to run some of ### them individually and examine any diagnostic messages they produce. ### See the INSTALL document's section on "make test". ### You have a good chance to get more information by running ### ./perl harness ### in the 't' directory since most (>=80%) of the tests succeeded. u=40.80 s=0.00 cu=0.00 cs=0.00 scripts=892 tests=114061 The install then failed to install - just hung with: $ mms install %DCL-I-SUPERSEDE, previous value of PERL_ROOT has been superseded %DCL-I-SUPERSEDE, previous value of PERLSHR has been superseded If F$TrnLnm("Sys") .nes. "" Then Deass SYS MCR Sys$Disk:[]miniperl.exe "-I[.lib]" installperl Deep recursion on subroutine "File::Path::mkpath" at lib/File/Path.pm line 162. I found the thread started by Peter Prymmer at http://www.nntp.perl.org/group/perl.vmsperl/13873 and the followups in http://www.nntp.perl.org/group/perl.vmsperl/13873 http://www.nntp.perl.org/group/perl.vmsperl/13883 http://www.nntp.perl.org/group/perl.vmsperl/13884 http://www.nntp.perl.org/group/perl.vmsperl/13885 http://www.nntp.perl.org/group/perl.vmsperl/13891 which got me past this by creating my install dir first (although I saw the second, better method of removing the \00000). > >>I've reset my time and timezone so now I have: >> >>$ sho time >> 6-AUG-2006 11:19:55 >> >>which is correct. >> >>$ @SYS$MANAGER:UTC$TIME_SETUP SHOW >> >>AUTO_DLIGHT_SAV is set to "0" and DTSS is not in use. >>You will have to manually change to/from Daylight Saving Time. >> >>You can do this by executing SYS$MANAGER:UTC$TIME_SETUP.COM, >>or you can use SYS$EXAMPLES:DAYLIGHT_SAVING.COM. >> >> >> LOCAL TIME ZONE = GB -- DAYLIGHT TIME >> LOCAL SYSTEM TIME = 6-AUG-2006 11:20:11.58 (BST) >> TIME DIFFERENTIAL FACTOR = 1:00 >> TIME ZONE RULE = GMT0BST-1,M3.4.0/01,M10.5.0/02 >> Change GMT to BST on the Fourth Sunday of March (26-Mar-2006) at >>01:00 >> Change BST to GMT on the Last Sunday of October (29-Oct-2006) at >>02:00 >> >>(LNM$SYSTEM_TABLE) >> >> "SYS$LOCALTIME" = "SYS$SYSROOT:[SYS$ZONEINFO.SYSTEM]GB." >> "SYS$TIMEZONE_DAYLIGHT_SAVING" = "1" >> "SYS$TIMEZONE_DIFFERENTIAL" = "3600" >> "SYS$TIMEZONE_NAME" = "BST" >> "SYS$TIMEZONE_RULE" = "GMT0BST-1,M3.4.0/01,M10.5.0/02" >> "TCPIP$BIND_TIMEOUT" = "...." >> >>but still no luck. >> >>I don't understand why auto_dlight_sav is set to 0 but I don't think it >>is relevant. > > I don't think it is either. It's disabled because it's a system parameter > and that's the default setting. Here's what mine looks like: > > $ mcr sysgen show auto_dlight_sav > Parameter Name Current Default Min. Max. Unit > Dynamic > -------------- ------- ------- ------- ------- ---- > ------- > AUTO_DLIGHT_SAV 1 0 0 1 Boolean > and mine: $ mcr sysgen show auto_dlight_sav Parameter Name Current Default Min. Max. Unit Dynamic -------------- ------- ------- ------- ------- ---- ------- AUTO_DLIGHT_SAV 0 0 0 1 Boolean which explains that. >>Does anything look wrong my with time settings to you? > > No, but that doesn't mean much as I have no great expertise in this area. > > I notice that there are a number of ECOs available for OpenVMS I64 > v8.2-1, including TDF, TZ, and CRTL patches, any or all of which > might be relevant here. The CRTL patch in particular addresses > problems in the tm struct used by localtime and gmtime. I would > suggest getting your system up-to-date with ECOs and seeing if that > makes a difference. > > You can find the relevant ECOs here (registration required): > > http://www2.itrc.hp.com/service/patch/search.do?BC=main|&pageOsid=openvms I found VMS821I_UPDATE-V0300.ZIPEXE which seems to include most if not all of that and will have another go after installing it. Thank you very much for all the help. Martin -- Martin J. Evans Easysoft Ltd, UK http://www.easysoft.com