| 1 | README.vmesa |
| 2 | |
| 3 | This is a fully ported perl for VM/ESA 2.3.0. It may work on |
| 4 | other versions, but that's the one we've tested it on. |
| 5 | |
| 6 | If you've downloaded the binary distribution, it needs to be |
| 7 | installed below /usr/local. Source code distributions have an |
| 8 | automated `make install` step that means you do not need to extract |
| 9 | the source code below /usr/local (though that is where it will be |
| 10 | installed by default). You may need to worry about the networking |
| 11 | configuration files discussed in the last bullet below. |
| 12 | |
| 13 | To extract an ASCII tar archive on VM/ESA, try this: |
| 14 | |
| 15 | pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar |
| 16 | |
| 17 | GNU make for VM/ESA, which may be required for the build of perl, |
| 18 | is available from: |
| 19 | |
| 20 | http://pucc.princeton.edu/~neale/vmoe.html |
| 21 | |
| 22 | Once you've unpacked the distribution, run Configure (see INSTALL for |
| 23 | full discussion of the Configure options), and then run make, then |
| 24 | "make test" then "make install" (this last step may require UID=0 |
| 25 | privileges) |
| 26 | |
| 27 | There is a "hints" file for vmesa that specifies the correct values |
| 28 | for most things. Some things to watch out for are |
| 29 | |
| 30 | - this port does support dynamic loading but it's not had much testing |
| 31 | |
| 32 | - Don't turn on the compiler optimization flag "-O". There's |
| 33 | a bug in the compiler (APAR PQ18812) that generates some bad code |
| 34 | the optimizer is on. |
| 35 | |
| 36 | - As VM/ESA doesn't fully support the fork() API programs relying on |
| 37 | this call will not work. I've replaced fork()/exec() with spawn() |
| 38 | and the standalone exec() with spawn(). This has a side effect when |
| 39 | opening unnamed pipes in a shell script: there is no child process |
| 40 | generated under. |
| 41 | |
| 42 | - At the moment the hints file for VM/ESA basically bypasses all of the |
| 43 | automatic configuration process. This is because Configure relies on: |
| 44 | 1. The header files living in the Byte File System (you could put the |
| 45 | there if you want; |
| 46 | 2. The C preprocessor including the #include statements in the |
| 47 | preprocessor output (.i) file. |
| 48 | |
| 49 | When using perl on VM/ESA please keep in mind that the EBCDIC and ASCII |
| 50 | character sets are different. Perl builtin functions that may behave |
| 51 | differently under EBCDIC are mentioned in the perlport.pod document. |
| 52 | |
| 53 | OpenEdition (UNIX System Services) does not (yet) support the #! means |
| 54 | of script invokation. |
| 55 | See: |
| 56 | |
| 57 | head `whence perldoc` |
| 58 | |
| 59 | for an example of how to use the "eval exec" trick to ask the shell to |
| 60 | have perl run your scripts for you. |
| 61 | |
| 62 | If you are interested in the VM and OS/390 ports of perl then see the |
| 63 | perl-mvs mailing list: The Perl Institute (http://www.perl.org/) |
| 64 | maintains a mailing list of interest to all folks building and/or |
| 65 | using perl on EBCDIC platforms. To subscibe, send a message of: |
| 66 | |
| 67 | subscribe perl-mvs |
| 68 | |
| 69 | to majordomo@perl.org. |
| 70 | |
| 71 | Regression tests: as the 5.005 kit was was being assembled |
| 72 | the following "failures" were known to appear on some machines |
| 73 | during `make test` (mostly due to ASCII vs. EBCDIC conflicts), |
| 74 | your results may differ: |
| 75 | |
| 76 | [the list of failures being compiled] |