X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.os390;h=9860baead54b64fe74f8df251212bd68abe66d9f;hb=17eef65c2fb9a95edf9064575d3413b4ec8219b7;hp=249ee032a465fa1184900f8980d9418eaf18a690;hpb=9133bbab1b418762e5735878fdd7f85407fdd45a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.os390 b/README.os390 index 249ee03..9860bae 100644 --- a/README.os390 +++ b/README.os390 @@ -1,18 +1,16 @@ - 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 @@ -23,17 +21,42 @@ the ones we've tested it on. 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: @@ -46,10 +69,9 @@ The IBM document that described such USS system setup issues was 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. Some people have reported encountering "Out of memory!" errors while trying to build Perl using GNU make binaries. If you encounter such @@ -68,7 +90,7 @@ and be sure to also set the environment variable _C89_CCMODE=1 (exporting _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 @@ -87,7 +109,7 @@ to build its "Socket" extension. 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 @@ -156,7 +178,7 @@ properly set up your /etc networking files. =back -=head2 Build, test, install +=head2 Build, Test, Install Perl on OS/390 Simply put: @@ -172,7 +194,7 @@ this last step may or may not require UID=0 privileges depending 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. @@ -196,11 +218,11 @@ If the c89 compiler complains of syntax errors during the build of the 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 @@ -209,20 +231,6 @@ anomalies: 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. @@ -255,16 +263,16 @@ Out of Memory! 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. @@ -279,13 +287,13 @@ is needed to get through the test suite. =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 @@ -307,7 +315,7 @@ If you are having trouble with square brackets then consider switching your 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 @@ -341,7 +349,7 @@ The problem can be further examined in a roughly equivalent C program: /* 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: @@ -388,13 +396,11 @@ Thanks to John Goodyear for dynamic loading help. L, L, L, L. - 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/ @@ -402,16 +408,13 @@ L, L, L, L. http://publibz.boulder.ibm.com:80/cgi-bin/bookmgr_OS390/BOOKS/CBCUG030/ -=head2 Mailing list - -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: +=head2 Mailing list for Perl on OS/390 - subscribe perl-mvs +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. -to majordomo@perl.org. See also: +See also: http://lists.perl.org/showlist.cgi?name=perl-mvs @@ -427,6 +430,8 @@ release of Perl. 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.