A kit containing the Perl 5.6.1 final release, a selection of extensions, 
and a command procedure to build and install the whole shebang is available 
from:

  <http://members.telocity.com/craigberry/perlbuild.zip>

The kit is about 8.3 MB.  The prerequisites are: unzip, DEC/Compaq C, and 
MMK.  (If you want to use MMS instead, just globally replace MMK in the 
command procedure BUILD_PERL.COM.)  The basic steps to follow are: 1) unzip, 
and 2) run the procedure.  Those steps would look something like this:

   $ unzip perlbuild.zip
   Archive:  D0:[CRAIG.KITS]PERLBUILD.ZIP;1
     inflating: [.perlbuild]build_perl.com  
    extracting: [.perlbuild]libraries.zip  
    extracting: [.perlbuild]modules.zip  
    extracting: [.perlbuild]source.zip  
   $ set default [.perlbuild]
   $ submit/noprint build_perl
   Job BUILD_PERL (queue SYS$BATCH, entry 15) started on SYS$BATCH

The job has been taking me 2 1/2 hours to run on an AlphaStation 250 4/266.

I've tried to use rooted logicals to avoid directory depth problems, but if 
you are on VAX or pre-7.2 Alpha, it's probably wise to unpack the kit as 
close to the root of your volume as you can.  (I haven't had a chance to 
test on those platforms.)

When the procedure completes, the directory tree [.perlbuild.perl...] will 
contain an installed snapshot of Perl and the extensions included in the 
kit.  You can leave the installation where it is or use BACKUP to put it 
anywhere else.  Just copy the PERL_SETUP.COM from the [.perlbuild] directory 
and modify the definition of PERL_ROOT contained therein to point to the 
final location.  The snapshot is also suitable for zipping up and 
distributing as a pre-built binary.

The list of modules I've included follows below.  Sorry about omitting 
version numbers, but these have all been downloaded from CPAN recently and 
should be the latest.  The module list is the intersection of "most 
requested" and "most functional on VMS."  Unfortunately, for example, the 
current version of CPAN.pm just isn't working on VMS yet so it's not here 
even though several people expressed interest in it.  I'm open to 
suggestions for adding to the list.

DBI
LIBNET
DIGEST-MD5
HTML-TAGSET
HTML-PARSER
MIME-BASE64
URI
LIBWWW-PERL
MIME-LITE
SMG
VMS-DEVICE
VMS-FILEUTILS
VMS-FINDFILE
VMS-ICC
VMS-INDEXEDFILE
VMS-LIBRARIAN
VMS-LOCK
VMS-MISC
VMS-MONITOR
VMS-PERSONA
VMS-PRIV
VMS-PROCESS
VMS-QUEUE
VMS-SYSTEM
VMS-USER
XML-PARSER

Various notes and gotchas:

With Compaq C V6.2-003 on OpenVMS Alpha V7.2-1 I only saw one test failure 
in Perl itself (pod/find.t, surprise, surprise).  All the extensions built 
cleanly (well, DBI built messily but did get built), but there were a couple 
of test failures.  These may be bugs/features of the test suites and not 
necessarily of the extensions.  For instance, the VMS::Persona tests assume 
the existence of an ORACLE account and appear to need privs to run.  I know 
I've seen the other modules pass all tests before, so they probably just need a 
bit of tweaking, but I haven't had time to take a look.  I suspect they are 
as functional as they ever were.  Here's where things stand now:

libwww-perl     Failed 3/22 test scripts, 86.36% okay. 27/286 subtests failed, 90.56% 
okay.
VMS::Persona    Failed 1/1 test scripts, 0.00% okay. 8/11 subtests failed, 27.27% okay.
VMS::System     Failed 1/1 test scripts, 0.00% okay. 1/7 subtests failed, 85.71% okay.

BUILD_PERL.COM is *experimental* and is not likely to be the prettiest DCL 
you've ever seen, not to mention being lightly commented and undocumented 
(except for this message).  The good news is that if it runs to completion 
you're going to have the best Perl you can get at the moment with minimal 
effort.  Suggestions and patches are welcome.  In addition to substituting 
MMS for MMK, there may be other modifications you want to make, such as 
changing the parameters passed to configure.com or adding your own 
extensions to the list.

The procedure does accept two parameters, mostly untested.  P1 can be an 
alternate root directory where you want Perl to be installed, much like the 
prefix parameter to Configure.com.  Here's an example (trailing dot 
significant):

   $ submit build_perl.com/param=disk2:[utils.perl-5_6_1.]

P2 is the stage of the procedure you want to start at.  For example, if Perl 
has been successfully built and installed but you get hung up in the 
modules, you can try something like:

   $ submit build_perl.com/parameters=("","MODULES")

to restart at the MODULES step (look in the procedure to see what the labels 
are). 

If you want to test a development release of Perl with the extensions 
included here, untar it, rename  PERL.DIR to SOURCE.DIR, zip it up, and 
stick it in place of the SOURCE.ZIP included in this kit.

Good luck, and let me know how you fare.

Reply via email to