died a natural death some time before the standard was set. Therefore
VAX C will not compile Perl 5.005 or later. We are sorry about that.
-If you are stuck without Compaq (formerly DEC) C consider trying Gnu C
-instead, though there have been no recent reports of builds using Gnu C.
-There is minimal support for Compaq C++ but this support is not complete;
+There have been no recent reports of builds using Gnu C, but latent
+(and most likely outdated) support for it is still present in various
+parts of the sources. Currently the HP (formerly Compaq, and even
+more formerly DEC) C compiler is the only viable alternative for
+building Perl.
+
+There is minimal support for HP C++ but this support is not complete;
if you get it working please write to the vmsperl list (for info see
L</"Mailing Lists">).
could use modules implementing useful VMS system services, so if you'd like
to lend a hand we'd love to have you. Join the Perl Porting Team Now!
-The current sources and build procedures have been tested on a VAX using
-DEC C, and on an AXP using DEC C. If you run into problems with
-other compilers, please let us know. (Note: DEC C was renamed to Compaq C
-around version 6.2).
-
There are issues with various versions of DEC C, so if you're not running a
relatively modern version, check the "DEC C issues" section later on in this
document.
=item 1 A C compiler.
-DEC (now Compaq) C or gcc for VMS (AXP or VAX).
+HP (formerly Compaq, more formerly DEC) C for VMS (VAX, Alpha, or Itanium).
=item 2 A make tool.
A de-compressor for *.gz and *.tgz files available from a number
of web/ftp sites and is distributed on the OpenVMS Freeware CD-ROM
-from Compaq.
+from HP.
- http://www.fsf.org/order/ftp.html
- http://www.openvms.compaq.com/freeware/
+ http://www.hp.com/go/openvms/freeware/
http://www.crinoid.com/utils/
=item 2 VMS TAR
For reading and writing unix tape archives (*.tar files). Vmstar is also
available from a number of web/ftp sites and is distributed on the OpenVMS
-Freeware CD-ROM from Compaq.
+Freeware CD-ROM from HP.
+
+ http://www.hp.com/go/openvms/freeware/
+
+Recent versions of VMS tar on ODS-5 volumes may extract tape archive
+files with ^. escaped periods in them. See below for further workarounds.
- ftp://ftp.lp.se/vms/
- http://www.openvms.compaq.com/freeware/
+A port of GNU tar is also available as part of the GNV package:
+
+ http://gnv.sourceforge.net/
=item 3 UNZIP.EXE for VMS
Unzip is available from a number of web/ftp sites.
http://www.info-zip.org/UnZip.html
- http://www.openvms.compaq.com/freeware/
- ftp://ftp.openvms.compaq.com/
+ http://www.hp.com/go/openvms/freeware/
+ ftp://ftp.hp.com/pub/openvms
ftp://ftp.madgoat.com/madgoat/
- ftp://ftp.process.com/vms-freeware/
+ ftp://ftp.process.com/vms-freeware/fileserv
=item 4 MOST
available here:
http://www.crinoid.com/utils/
- http://www.openvms.compaq.com/freeware/
+ http://www.hp.com/go/openvms/freeware/
=back
DEC C, or socket libraries. See the "Socket Support (optional)" topic
for more details.
+=head1 Unpacking the Perl source code
+
+You may need to set up a foreign symbol for the unpacking utility of choice.
+
+If you unpack a perl source kit with a name containing multiple periods on
+an ODS-5 volume using recent versions of vmstar (e.g. V3.4 or later) you may
+need to be especially careful in unpacking the tape archive file. Try to use
+the ODS-2 compatability qualifiers such as:
+
+ vmstar /extract/verbose/ods2 perl-V^.VIII^.III.tar
+
+or:
+
+ vmstar -xvof perl-5^.8^.3.tar
+
+If you neglected to use the /ODS2 qualifier or the -o switch then you
+could rename the source directory:
+
+ set security/protection=(o:rwed) perl-5^.8^.3.dir
+ rename perl-5^.8^.3.dir perl-5_8_3.dir
+
+Perl on VMS as of 5.8.3 does not completely handle extended file
+parse styles such as are encountered on ODS-5. While it can be built,
+installed, and run on ODS-5 filesystems; it may encounter
+trouble with characters that are otherwise illegal on ODS-2
+volumes (notably the ^. escaped period sequence).
+
=head1 Configuring the Perl build
To configure perl (a necessary first step), issue the command
otherwise simply deassign the dangerous logical names. The potentially
troublesome logicals and symbols are:
- TMP "LOGICAL"
- LIB "LOGICAL"
- T "LOGICAL"
- FOO "LOGICAL"
- EXT "LOGICAL"
- TEST "SYMBOL"
+ COMP "LOGICAL"
+ EXT "LOGICAL"
+ FOO "LOGICAL"
+ LIB "LOGICAL"
+ LIST "LOGICAL"
+ MIME "LOGICAL"
+ POSIX "LOGICAL"
+ SYS "LOGICAL"
+ T "LOGICAL"
+ THREAD "LOGICAL"
+ THREADS "LOGICAL"
+ TIME "LOGICAL"
+ TMP "LOGICAL"
+ UNICODE "LOGICAL"
+ UTIL "LOGICAL"
+ TEST "SYMBOL"
As a handy shortcut, the command:
=head2 Running h2ph to create perl header files (optional) on VMS
-If using DEC C or Compaq C ensure that you have extracted loose versions
-of your compiler's header or *.H files. Be sure to check the contents of:
+If using HP C, ensure that you have extracted loose versions of your
+compiler's header or *.H files. Be sure to check the contents of:
SYS$LIBRARY:DECC$RTLDEF.TLB
SYS$LIBRARY:SYS$LIB_C.TLB
a VAX or on Alpha versions of VMS prior to 7.2). But MakeMaker will not
warn you if you start out building a module too deep in a directory.
+As noted above ODS-5 escape sequences such as ^. can break the perl
+build. Solutions include renaming files and directories as needed or
+being careful to use the -o switch or /ODS2 qualifier with latter
+versions of the vmstar utility when unpacking perl or CPAN modules
+on ODS-5 volumes.
+
Be sure that the process that you use to build perl has a PGFLQ greater
than 100000. Be sure to have a correct local time zone to UTC offset
defined (in seconds) in the logical name SYS$TIMEZONE_DIFFERENTIAL before
http://www-ang.kfunigraz.ac.at/~binder/perl.html
http://lists.perl.org/showlist.cgi?name=vmsperl
http://archive.develooper.com/vmsperl@perl.org/
- http://www.openvms.compaq.com/openvms/products/ips/apache/csws_modperl.html
+ http://h71000.www7.hp.com/openvms/products/ips/apache/csws_modperl.html
=head1 SEE ALSO