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