=head1 NAME
-README.os390 - building and installing Perl for OS/390.
+README.os390 - building and installing Perl for OS/390 and z/OS
=head1 SYNOPSIS
This document will help you Configure, build, test and install Perl
-on OS/390 Unix System Services.
+on OS/390 (aka z/OS) Unix System Services.
=head1 DESCRIPTION
You may need to carry out some system configuration tasks before
running the Configure script for Perl.
+
+=head2 Tools
+
+The z/OS Unix Tools and Toys list may prove helpful and contains links
+to ports of much of the software helpful for building Perl.
+http://www.ibm.com/servers/eserver/zseries/zos/unix/bpxa1toy.html
+
+
=head2 Unpacking Perl distribution on OS/390
+If using ftp remember to transfer the distribution in binary format.
+
Gunzip/gzip for OS/390 is discussed at:
- http://www.s390.ibm.com/products/oe/bpxqp1.html
+ http://www.ibm.com/servers/eserver/zseries/zos/unix/bpxa1ty1.html
to extract an ASCII tar archive on OS/390, try this:
pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar
+or
+
+ zcat latest.tar.Z | pax -o to=IBM-1047,from=ISO8859-1 -r
+
+If you get lots of errors of the form
+
+ tar: FSUM7171 ...: cannot set uid/gid: EDC5139I Operation not permitted.
+
+you didn't read the above and tried to use tar instead of pax, you'll
+first have to remove the (now corrupt) perl directory
+
+ rm -rf perl-...
+
+and then use pax.
+
=head2 Setup and utilities for Perl on OS/390
Be sure that your yacc installation is in place including any necessary
SC28-1890-07 "OS/390 UNIX System Services Planning", in particular
Chapter 6 on customizing the OE shell.
-GNU make for OS/390, which is recommended for the build of perl (as well as
-building CPAN modules and extensions), is available from:
-
- http://www.mks.com/s390/gnu/index.htm
+GNU make for OS/390, which is recommended for the build of perl (as
+well as building CPAN modules and extensions), is available from the
+L</Tools>.
Some people have reported encountering "Out of memory!" errors while
trying to build Perl using GNU make binaries. If you encounter such
_C89_CCMODE=1 is also a good idea for users of GNU make).
You might also want to have GNU groff for OS/390 installed before
-running the `make install` step for Perl.
+running the "make install" step for Perl.
There is a syntax error in the /usr/include/sys/socket.h header file
that IBM supplies with USS V2R7, V2R8, and possibly V2R9. The problem with
=head2 Testing Anomalies with Perl on OS/390
-The `make test` step runs a Perl Verification Procedure, usually before
+The "make test" step runs a Perl Verification Procedure, usually before
installation. You might encounter STDERR messages even during a successful
-run of `make test`. Here is a guide to some of the more commonly seen
+run of "make test". Here is a guide to some of the more commonly seen
anomalies:
=over 4
A message of the form:
- comp/cpp.............ERROR CBC3191 ./.301989890.c:1 The character $ is not a
- valid C source character.
- FSUM3065 The COMPILE step ended with return code 12.
- FSUM3017 Could not compile .301989890.c. Correct the errors and try again.
- ok
-
-indicates that the t/comp/cpp.t test of Perl's -P command line switch has
-passed but that the particular invocation of c89 -E in the cpp script does
-not suppress the C compiler check of source code validity.
-
-=item *
-
-A message of the form:
-
io/openpid...........CEE5210S The signal SIGHUP was received.
CEE5210S The signal SIGHUP was received.
CEE5210S The signal SIGHUP was received.
Recent perl test suite is quite memory hunrgy. In addition to the comments
above on memory limitations it is also worth checking for _CEE_RUNOPTS
in your environment. Perl now has (in miniperlmain.c) a C #pragma
-to set CEE run options, but the enviroment variable wins.
+to set CEE run options, but the environment variable wins.
-The C code ask for:
+The C code asks for:
#pragma runopts(HEAP(2M,500K,ANYWHERE,KEEP,8K,4K) STACK(,,ANY,) ALL31(ON))
The important parts of that are the second argument (the increment) to HEAP,
and allowing the stack to be "Above the (16M) line". If the heap
-increment is too small then when perl (for example loading unicode/Name.pl) trys
-to create a "big" (400K+) string it cannot fit in a single segement
+increment is too small then when perl (for example loading unicode/Name.pl) tries
+to create a "big" (400K+) string it cannot fit in a single segment
and you get "Out of Memory!" - even if there is still plenty of memory
available.
L<INSTALL>, L<perlport>, L<perlebcdic>, L<ExtUtils::MakeMaker>.
- http://www.mks.com/s390/gnu/index.htm
-
- http://www.redbooks.ibm.com/abstracts/sg245944.html
+ http://www.ibm.com/servers/eserver/zseries/zos/unix/bpxa1toy.html
- http://www.s390.ibm.com/products/oe/bpxa1ty1.html#opensrc
+ http://www.redbooks.ibm.com/redbooks/SG245944.html
- http://www.s390.ibm.com/products/oe/portbk/bpxacenv.html
+ http://www.ibm.com/servers/eserver/zseries/zos/unix/bpxa1ty1.html#opensrc
http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/
=head2 Mailing list for Perl on OS/390
-The Perl Institute (http://www.perl.org/) maintains a perl-mvs
-mailing list of interest to all folks building and/or
-using perl on all EBCDIC platforms (not just OS/390).
-To subscribe, send a message of:
+If you are interested in the VM/ESA, z/OS (formerly known as OS/390)
+and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list.
+To subscribe, send an empty message to perl-mvs-subscribe@perl.org.
- subscribe perl-mvs
-
-to majordomo@perl.org. See also:
+See also:
http://lists.perl.org/showlist.cgi?name=perl-mvs
This document was podified for the 5.005_03 release of Perl 11 March 1999.
+Updated 28 November 2001 for broken URLs.
+
Updated 12 November 2000 for the 5.7.1 release of Perl.
Updated 15 January 2001 for the 5.7.1 release of Perl.