| 1 |  | 
|---|
| 2 | This document is written in pod format hence there are punctuation | 
|---|
| 3 | characters in odd places.  Do not worry, you've apparently got | 
|---|
| 4 | the ASCII->EBCDIC translation worked out correctly.  You can read | 
|---|
| 5 | more about pod in pod/perlpod.pod or the short summary in the | 
|---|
| 6 | INSTALL file. | 
|---|
| 7 |  | 
|---|
| 8 | =head1 NAME | 
|---|
| 9 |  | 
|---|
| 10 | README.vmesa - building and installing Perl for VM/ESA. | 
|---|
| 11 |  | 
|---|
| 12 | =head1 SYNOPSIS | 
|---|
| 13 |  | 
|---|
| 14 | This document will help you Configure, build, test and install Perl | 
|---|
| 15 | on VM/ESA. | 
|---|
| 16 |  | 
|---|
| 17 | =head1 DESCRIPTION | 
|---|
| 18 |  | 
|---|
| 19 | This is a fully ported perl for VM/ESA 2.3.0.  It may work on | 
|---|
| 20 | other versions, but that's the one we've tested it on. | 
|---|
| 21 |  | 
|---|
| 22 | If you've downloaded the binary distribution, it needs to be | 
|---|
| 23 | installed below /usr/local.  Source code distributions have an | 
|---|
| 24 | automated "make install" step that means you do not need to extract | 
|---|
| 25 | the source code below /usr/local (though that is where it will be | 
|---|
| 26 | installed by default).  You may need to worry about the networking | 
|---|
| 27 | configuration files discussed in the last bullet below. | 
|---|
| 28 |  | 
|---|
| 29 | =head2 Unpacking Perl Distribution on VM/ESA | 
|---|
| 30 |  | 
|---|
| 31 | To extract an ASCII tar archive on VM/ESA, try this: | 
|---|
| 32 |  | 
|---|
| 33 | pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar | 
|---|
| 34 |  | 
|---|
| 35 | =head2 Setup Perl and utilities on VM/ESA | 
|---|
| 36 |  | 
|---|
| 37 | GNU make for VM/ESA, which may be required for the build of perl, | 
|---|
| 38 | is available from: | 
|---|
| 39 |  | 
|---|
| 40 | http://vm.marist.edu/~neale/vmoe.html | 
|---|
| 41 |  | 
|---|
| 42 | =head2 Configure Perl on VM/ESA | 
|---|
| 43 |  | 
|---|
| 44 | Once you've unpacked the distribution, run Configure (see INSTALL for | 
|---|
| 45 | full discussion of the Configure options), and then run make, then | 
|---|
| 46 | "make test" then "make install" (this last step may require UID=0 | 
|---|
| 47 | privileges). | 
|---|
| 48 |  | 
|---|
| 49 | There is a "hints" file for vmesa that specifies the correct values | 
|---|
| 50 | for most things.  Some things to watch out for are: | 
|---|
| 51 |  | 
|---|
| 52 | =over 4 | 
|---|
| 53 |  | 
|---|
| 54 | =item * | 
|---|
| 55 |  | 
|---|
| 56 | this port does support dynamic loading but it's not had much testing | 
|---|
| 57 |  | 
|---|
| 58 | =item * | 
|---|
| 59 |  | 
|---|
| 60 | Don't turn on the compiler optimization flag "-O".  There's | 
|---|
| 61 | a bug in the compiler (APAR PQ18812) that generates some bad code | 
|---|
| 62 | the optimizer is on. | 
|---|
| 63 |  | 
|---|
| 64 | =item * | 
|---|
| 65 |  | 
|---|
| 66 | As VM/ESA doesn't fully support the fork() API programs relying on | 
|---|
| 67 | this call will not work. I've replaced fork()/exec() with spawn() | 
|---|
| 68 | and the standalone exec() with spawn(). This has a side effect when | 
|---|
| 69 | opening unnamed pipes in a shell script: there is no child process | 
|---|
| 70 | generated under. | 
|---|
| 71 |  | 
|---|
| 72 | =item * | 
|---|
| 73 |  | 
|---|
| 74 | At the moment the hints file for VM/ESA basically bypasses all of the | 
|---|
| 75 | automatic configuration process.  This is because Configure relies on: | 
|---|
| 76 | 1. The header files living in the Byte File System (you could put the | 
|---|
| 77 | there if you want); 2. The C preprocessor including the #include | 
|---|
| 78 | statements in the preprocessor output (.i) file. | 
|---|
| 79 |  | 
|---|
| 80 | =back | 
|---|
| 81 |  | 
|---|
| 82 | =head2 Testing Anomalies of Perl on VM/ESA | 
|---|
| 83 |  | 
|---|
| 84 | The "make test" step runs a Perl Verification Procedure, usually before | 
|---|
| 85 | installation.  As the 5.6.1 kit was being assembled | 
|---|
| 86 | the following "failures" were known to appear on some machines | 
|---|
| 87 | during "make test" (mostly due to ASCII vs. EBCDIC conflicts), | 
|---|
| 88 | your results may differ: | 
|---|
| 89 |  | 
|---|
| 90 | [the list of failures being compiled] | 
|---|
| 91 |  | 
|---|
| 92 | =head2 Usage Hints for Perl on VM/ESA | 
|---|
| 93 |  | 
|---|
| 94 | When using perl on VM/ESA please keep in mind that the EBCDIC and ASCII | 
|---|
| 95 | character sets are different.  Perl builtin functions that may behave | 
|---|
| 96 | differently under EBCDIC are mentioned in the perlport.pod document. | 
|---|
| 97 |  | 
|---|
| 98 | OpenEdition (UNIX System Services) does not (yet) support the #! means | 
|---|
| 99 | of script invocation. | 
|---|
| 100 | See: | 
|---|
| 101 |  | 
|---|
| 102 | head `whence perldoc` | 
|---|
| 103 |  | 
|---|
| 104 | for an example of how to use the "eval exec" trick to ask the shell to | 
|---|
| 105 | have perl run your scripts for you. | 
|---|
| 106 |  | 
|---|
| 107 | =head1 AUTHORS | 
|---|
| 108 |  | 
|---|
| 109 | Neale Ferguson. | 
|---|
| 110 |  | 
|---|
| 111 | =head1 SEE ALSO | 
|---|
| 112 |  | 
|---|
| 113 | L<INSTALL>, L<perlport>, L<perlebcdic>. | 
|---|
| 114 |  | 
|---|
| 115 | =head2 Mailing list for Perl on VM/ESA | 
|---|
| 116 |  | 
|---|
| 117 | If you are interested in the VM/ESA, z/OS (formerly known as OS/390) | 
|---|
| 118 | and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list. | 
|---|
| 119 | To subscribe, send an empty message to perl-mvs-subscribe@perl.org. | 
|---|
| 120 |  | 
|---|
| 121 | See also: | 
|---|
| 122 |  | 
|---|
| 123 | http://lists.perl.org/showlist.cgi?name=perl-mvs | 
|---|
| 124 |  | 
|---|
| 125 | There are web archives of the mailing list at: | 
|---|
| 126 |  | 
|---|
| 127 | http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/ | 
|---|
| 128 | http://archive.develooper.com/perl-mvs@perl.org/ | 
|---|
| 129 |  | 
|---|
| 130 | =cut | 
|---|
| 131 |  | 
|---|