This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
was Re: Not OK: perl 5.00503 +MAINT_TRIAL_6 on os390 06.00 (UNINSTALLED)
[perl5.git] / README.os390
CommitLineData
b874074c
PP
1This document is written in pod format hence there are punctuation
2characters in in odd places. Do not worry, you've apparently got
3the ASCII->EBCDIC translation worked out correctly. You can read
4more about pod in pod/perlpod.pod or the short summary in the
5INSTALL file.
6
7=head1 NAME
8
9README.os390 - building and installing Perl for OS/390.
10
11=head1 SYNOPSIS
12
13This document will help you Configure, build, test and install Perl
14on OS/390 Unix System Services.
15
16=head1 DESCRIPTION
17
18This is a fully ported perl for OS/390 Release 3, 5 and 6.
314a889f
PP
19It may work on other versions, but those are the ones we've
20tested it on.
9d116dd7 21
b874074c
PP
22You may need to carry out some system configuration tasks before
23running the Configure script for perl.
24
25=head2 Unpacking
9d116dd7
JH
26
27Gunzip/gzip for OS/390 is discussed at:
28
29 http://www.s390.ibm.com/products/oe/bpxqp1.html
30
31to extract an ASCII tar archive on OS/390, try this:
32
33 pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar
34
b874074c
PP
35=head2 Setup and utilities
36
37Be sure that your yacc installation is in place including any necessary
38parser template files. If you have not already done so then be sure to:
39
40 cp /samples/yyparse.c /etc
41
42This may also be a good time to ensure that your /etc/protocol file
43and either your /etc/resolv.conf or /etc/hosts files are in place.
44
9d116dd7
JH
45GNU make for OS/390, which may be required for the build of perl,
46is available from:
47
48 http://www.mks.com/s390/gnu/index.htm
49
b874074c
PP
50=head2 Configure
51
52Once you've unpacked the distribution, run "sh Configure" (see INSTALL
53for a full discussion of the Configure options). There is a "hints" file
54for os390 that specifies the correct values for most things. Some things
55to watch out for include:
56
57=over 4
58
59=item *
60
61Some of the parser default template files in /samples are needed in /etc.
62In particular be sure that you at least copy /samples/yyparse.c to /etc
63before running perl's Configure. This step ensures successful extraction
64of EBCDIC versions of parser files such as perly.c.
65
66=item *
67
68This port doesn't support dynamic loading. Although
69OS/390 has support for DLLs, there are some differences
70that cause problems for perl.
9d116dd7 71
b874074c 72=item *
9d116dd7 73
b874074c
PP
74You may see a "WHOA THERE!!!" message for $d_shmatprototype
75it is OK to keep the recommended "define".
9d116dd7 76
b874074c 77=item *
9d116dd7 78
b874074c
PP
79Don't turn on the compiler optimization flag "-O". There's
80a bug in either the optimizer or perl that causes perl to
81not work correctly when the optimizer is on.
9d116dd7 82
b874074c 83=item *
9d116dd7 84
b874074c
PP
85Some of the configuration files in /etc used by the
86networking APIs are either missing or have the wrong
87names. In particular, make sure that there's either
88an /etc/resolv.conf or and /etc/hosts, so that
89gethostbyname() works, and make sure that the file
90/etc/proto has been renamed to /etc/protocol (NOT
91/etc/protocols, as used by other Unix systems).
92
93=back
94
95=head2 Build, test, install
96
97Simply put:
98
99 sh Configure
100 make
101 make test
102
103if everything looks ok then:
104
105 make install
106
107this last step may or may not require UID=0 privileges depending
108on how you answered the questions that Configure asked and whether
109or not you have write access to the directories you specified.
110
111=head2 Usage Hints
ccf7c934 112
9d116dd7
JH
113When using perl on OS/390 please keep in mind that the EBCDIC and ASCII
114character sets are different. Perl builtin functions that may behave
115differently under EBCDIC are mentioned in the perlport.pod document.
116
117OpenEdition (UNIX System Services) does not (yet) support the #! means
118of script invokation.
119See:
120
121 head `whence perldoc`
122
123for an example of how to use the "eval exec" trick to ask the shell to
124have perl run your scripts for you.
125
b874074c
PP
126=head2 Extensions
127
128You can build xs based extensions to Perl for OS/390 but will need to
129follow the instructions in ExtUtils::MakeMaker for building statically
130linked perl binaries. In most cases people have reported better
131results with GNU make rather than the system's /bin/make.
132
133=head1 AUTHORS
134
135David Fiander and Peter Prymmer.
136
137=head1 SEE ALSO
138
139L<INSTALL>, L<perlport>, L<ExtUtils::MakeMaker>.
140
141=head2 Mailing list
142
143The Perl Institute (http://www.perl.org/) maintains a perl-mvs
144mailing list of interest to all folks building and/or
9d116dd7
JH
145using perl on EBCDIC platforms. To subscibe, send a message of:
146
147 subscribe perl-mvs
148
149to majordomo@perl.org.
150
b874074c
PP
151=head1 HISTORY
152
153This document was originally written by David Fiander for the 5.005
154release of Perl.
9d116dd7 155
b874074c 156This document was podified for the 5.005_03 release of perl 11 March 1999.
314a889f 157
b874074c 158=cut