Commit | Line | Data |
---|---|---|
0f5a2e59 JH |
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 | |
7c5ffed3 JH |
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 | |
077b046f | 24 | automated "make install" step that means you do not need to extract |
7c5ffed3 JH |
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 | ||
a83b6f46 | 29 | =head2 Unpacking Perl Distribution on VM/ESA |
0f5a2e59 | 30 | |
7c5ffed3 JH |
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 | ||
a83b6f46 | 35 | =head2 Setup Perl and utilities on VM/ESA |
0f5a2e59 | 36 | |
7c5ffed3 JH |
37 | GNU make for VM/ESA, which may be required for the build of perl, |
38 | is available from: | |
39 | ||
5b7ea690 | 40 | http://vm.marist.edu/~neale/vmoe.html |
7c5ffed3 | 41 | |
a83b6f46 | 42 | =head2 Configure Perl on VM/ESA |
0f5a2e59 | 43 | |
7c5ffed3 JH |
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 | |
0f5a2e59 | 47 | privileges). |
7c5ffed3 JH |
48 | |
49 | There is a "hints" file for vmesa that specifies the correct values | |
0f5a2e59 | 50 | for most things. Some things to watch out for are: |
7c5ffed3 | 51 | |
0f5a2e59 | 52 | =over 4 |
7c5ffed3 | 53 | |
0f5a2e59 JH |
54 | =item * |
55 | ||
56 | this port does support dynamic loading but it's not had much testing | |
57 | ||
58 | =item * | |
b5ab5069 | 59 | |
982b7775 RB |
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. | |
7c5ffed3 | 63 | |
0f5a2e59 | 64 | =item * |
b5ab5069 | 65 | |
982b7775 RB |
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. | |
7c5ffed3 | 71 | |
0f5a2e59 JH |
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 | ||
a83b6f46 | 82 | =head2 Testing Anomalies of Perl on VM/ESA |
0f5a2e59 | 83 | |
077b046f | 84 | The "make test" step runs a Perl Verification Procedure, usually before |
d1be9408 | 85 | installation. As the 5.6.1 kit was being assembled |
0f5a2e59 | 86 | the following "failures" were known to appear on some machines |
077b046f | 87 | during "make test" (mostly due to ASCII vs. EBCDIC conflicts), |
0f5a2e59 JH |
88 | your results may differ: |
89 | ||
90 | [the list of failures being compiled] | |
91 | ||
a83b6f46 | 92 | =head2 Usage Hints for Perl on VM/ESA |
b5ab5069 | 93 | |
7c5ffed3 JH |
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 | |
0f5a2e59 | 99 | of script invocation. |
7c5ffed3 JH |
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 | ||
0f5a2e59 JH |
107 | =head1 AUTHORS |
108 | ||
109 | Neale Ferguson. | |
110 | ||
111 | =head1 SEE ALSO | |
112 | ||
113 | L<INSTALL>, L<perlport>, L<perlebcdic>. | |
114 | ||
a83b6f46 | 115 | =head2 Mailing list for Perl on VM/ESA |
0f5a2e59 | 116 | |
a83b6f46 | 117 | If you are interested in the VM/ESA, z/OS (formerly known as OS/390) |
3f66d419 JH |
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. | |
7c5ffed3 | 120 | |
3f66d419 | 121 | See also: |
0f5a2e59 JH |
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 | |
7c5ffed3 | 131 |