On Wed, May 16, 2012 at 04:34:18PM +0000, Craig A. Berry wrote: [snip useful answers which aren't directly blocking]
> > 8: The Alpha machine fails the build because the target is converted to > > uppercase. How come no-one else has this problem? > > I'm going to punt on the MMS issues for the moment. The short answer is you > cannot build Perl with MMS currently but must use MMK, available here: > <http://www.kednos.com/kednos/Open_Source/MMK>. In which case, README.vms needs some updating :-) I've downloaded it, built it and "installed" it by copying to PTAC$DKA0:[NCLARK.bin]mmk (This probably isn't the best idea, as that directory is on the cluster, hence common to the IA64 and alpha machines, so really I'm going to need to figure out a better way of keeping binaries from the two architectures segregated.) In turn, I configure.com, I can't specify MCR PTAC$DKA0:[NCLARK.bin]mmk as my make utility, because this ends up with configure.com bombing out with the current directory as [.UU], having produced a Descrip.MMS which is (IIRC) solely 2 lines of errors about files it can't open. Nor does specifying "make" work (GNU make 3.78.something is installed) If I specify mmk then configure.com does build a Descrip.MMS correctly. However, just running MRC PTAC$DKA0:[NCLARK.bin]mmk soon fails to build further. Doing *this* gets me a lot further: MMK := mcr PTAC$DKA0:[NCLARK.bin]mmk However, the build fails at a subdirectory of Encode: Making all in cpan/Digest-MD5 MMK all /DESCRIPTION=descrip.mms /MACRO=("PERL_CORE=1") Making Digest::SHA (all) Making all in cpan/Digest-SHA MMK all /DESCRIPTION=descrip.mms /MACRO=("PERL_CORE=1") Making Encode (all) Making all in cpan/Encode MMK all /DESCRIPTION=descrip.mms /MACRO=("PERL_CORE=1") Set Default [.byte] MMK/DESCRIPTION=DESCRIP.MMS/MACRO=(PERL_CORE="1") /Descrip= Descrip.MMS all %DCL-W-IVVERB, unrecognized command verb - check validity and spelling \MMK\ %MMK-F-ERRUPD, error status %X00038090 occurred when updating target SUBDIRS %MMK-F-ERRUPD, error status %X00038090 occurred when updating target SUBDIRS Unsuccessful make(cpan/Encode): code=1024 at make_ext.pl line 466. %NONAME-F-NOMSG, Message number 0C14803C %MMK-F-ERRUPD, error status %X0C14803C occurred when updating target DYNEXT This seems to have a lot to do with Encode having subdirectories that also contain F<Makefile.PL>s. In that, if I try to build SDBM_File: $ mcr []miniperl.exe "-Ilib" make_ext.pl "MAKE=mmk" "SDBM_File" Making SDBM_File (all) Running Makefile.PL in ext/SDBM_File ptac$dka0:[nclark.i.perl5160-rc2-mmk]miniperl.exe;1 "-I../../lib" "Makefile.PL" "INST_LIB=[--.lib]" "INST_ARCHLIB=[--.lib]" "PERL_CORE=1" Writing Descrip.MMS for sdbm Writing Descrip.MMS for SDBM_File Making all in ext/SDBM_File mmk all /DESCRIPTION=descrip.mms /MACRO=("PERL_CORE=1") cp sdbm_file.pm [--.lib]sdbm_file.pm set def [.sdbm] MMK all %DCL-W-IVVERB, unrecognized command verb - check validity and spelling \MMK\ %MMK-F-ERRUPD, error status %X00038090 occurred when updating target [.SDBM]LIBS DBM.OLB %MMK-F-ERRUPD, error status %X00038090 occurred when updating target [.SDBM]LIBS DBM.OLB Unsuccessful make(ext/SDBM_File): code=1024 at make_ext.pl line 466. %NONAME-F-NOMSG, Message number 0C14803C Same failure. The logical "mmk" is getting forgotten by the time the outer Descrip.MMS is attempting to recurse to the inner Descrip.MMS So, I'm a bit stuck again. When I last build on VMS (back on Testdrive. I liked Testdrive) IIRC it worked fairly smoothly. Or at least, I got it to a point of reliably working. Maybe I forgot the speed bumps on the way. Nicholas Clark PS The above already proves one simplification I can make mcr []miniperl.exe "-Ilib" make_ext.pl .... works No need for "-I[.dist.Cwd]" "-I[.dist.Cwd.lib]" too. This is why I'm keen to get myself building VMS longer term. Shorter term, it would be nice to verify the perl-5.16.0 release candidate: http://www.cpan.org/src/5.0/perl-5.16.0-RC2.tar.gz