-
This document is written in pod format hence there are punctuation
-characters in odd places. Do not worry, you've apparently got
-the ASCII->EBCDIC translation worked out correctly. You can read
-more about pod in pod/perlpod.pod or the short summary in the
-INSTALL file.
+characters in odd places. Do not worry, you've apparently got the
+ASCII->EBCDIC translation worked out correctly. You can read more
+about pod in pod/perlpod.pod or the short summary in the INSTALL file.
=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 Unpacking
+
+=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-1.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-1.ibm.com/servers/eserver/zseries/zos/unix/faq/bpxqp1.html
to extract an ASCII tar archive on OS/390, try this:
pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar
-=head2 Setup and utilities
+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
parser template files. If you have not already done so then be sure to:
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
For successful testing you may need to turn on the sticky bit for your
world readable /tmp directory if you have not already done so (see man chmod).
-=head2 Configure
+=head2 Configure Perl on OS/390
Once you've unpacked the distribution, run "sh Configure" (see INSTALL
for a full discussion of the Configure options). There is a "hints" file
=back
-=head2 Build, test, install
+=head2 Build, Test, Install Perl on OS/390
Simply put:
on how you answered the questions that Configure asked and whether
or not you have write access to the directories you specified.
-=head2 build anomalies
+=head2 Build Anomalies with Perl on OS/390
"Out of memory!" messages during the build of Perl are most often fixed
by re building the GNU make utility for OS/390 from a source code kit.
Socket extension then be sure to fix the syntax error in the system
header /usr/include/sys/socket.h.
-=head2 testing anomalies
+=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
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.
=back
-=head2 installation anomalies
+=head2 Installation Anomalies with Perl on OS/390
The installman script will try to run on OS/390. There will be fewer errors
if you have a roff utility installed. You can obtain GNU groff from the
Redbook SG24-5944-00 ftp site.
-=head2 Usage Hints
+=head2 Usage Hints for Perl on OS/390
When using perl on OS/390 please keep in mind that the EBCDIC and ASCII
character sets are different. See perlebcdic.pod for more on such character
rlogin or telnet client. Try to avoid older 3270 emulators and ISHELL for
working with Perl on USS.
-=head2 Floating point anomalies
+=head2 Floating Point Anomalies with Perl on OS/390
There appears to be a bug in the floating point implementation on S/390
systems such that calling int() on the product of a number and a small
/* y is 0.000000e+00 and z is 1.000000e+05 (with c89) */
}
-=head2 Modules and Extensions
+=head2 Modules and Extensions for Perl on OS/390
Pure pure (that is non xs) modules may be installed via the usual:
L<INSTALL>, L<perlport>, L<perlebcdic>, L<ExtUtils::MakeMaker>.
- http://www.mks.com/s390/gnu/index.htm
+ http://www-1.ibm.com/servers/eserver/zseries/zos/unix/bpxa1toy.html
http://www.redbooks.ibm.com/abstracts/sg245944.html
- http://www.s390.ibm.com/products/oe/bpxa1ty1.html#opensrc
-
- http://www.s390.ibm.com/products/oe/portbk/bpxacenv.html
+ http://www-1.ibm.com/servers/eserver/zseries/zos/unix/bpxa1ty1.html#opensrc
http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/
http://publibz.boulder.ibm.com:80/cgi-bin/bookmgr_OS390/BOOKS/CBCUG030/
-=head2 Mailing list
+=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.