FYI, Installing VMS821I_PCSI-V0100 and rebuilding perl from scratch failed with exactly the issue as before - namely
Running Mkbootstrap for B::C () MCR DKA0:[PERL-5_8_8]miniperl.exe "-I[---.lib]" "-I[---.lib]" "-MExtUtils::Comma nd" -e chmod 644 C.BS MCR DKA0:[PERL-5_8_8]miniperl.exe "-I[---.lib]" "-I[---.lib]" "-MExtUtils::Comma nd" -e cp C.bs [---.LIB.AUTO.B.C]C.BS MCR DKA0:[PERL-5_8_8]miniperl.exe "-I[---.lib]" "-I[---.lib]" "-MExtUtils::Comma nd" -e chmod 644 [---.LIB.AUTO.B.C]C.BS %MMS-F-ABORT, For target SUBDIRS, CLI returned abort status: %X10EE8180. %MMS-F-ABORT, For target DYNEXT, CLI returned abort status: %X10EE8034. and previous to that lines like: %MMS-W-GMFUTURE, Time for [-.BLIB.BIN].EXISTS is in the future: 7-AUG-2006 14:4 0:49.00 which it was as the time was 13:40. I am however up and running perl with the change from Craig. I have found other issues with h2ph but I'm attempting to resolve them myself before bothering you again. Martin -- Martin J. Evans Easysoft Ltd, UK http://www.easysoft.com On 07-Aug-2006 Martin J. Evans wrote: > > 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