Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / man / man1 / perlos400.1
CommitLineData
920dae64
AT
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "PERLOS400 1"
132.TH PERLOS400 1 "2006-01-07" "perl v5.8.8" "Perl Programmers Reference Guide"
133.SH "NAME"
134README.os400 \- Perl version 5 on OS/400
135.SH "DESCRIPTION"
136.IX Header "DESCRIPTION"
137This document describes various features of \s-1IBM\s0's \s-1OS/400\s0 operating
138system that will affect how Perl version 5 (hereafter just Perl) is
139compiled and/or runs.
140.PP
141By far the easiest way to build Perl for \s-1OS/400\s0 is to use the \s-1PASE\s0
142(Portable Application Solutions Environment), for more information see
143http://www.iseries.ibm.com/developer/factory/pase/index.html
144This environment allows one to use \s-1AIX\s0 APIs while programming, and it
145provides a runtime that allows \s-1AIX\s0 binaries to execute directly on the
146PowerPC iSeries.
147.Sh "Compiling Perl for \s-1OS/400\s0 \s-1PASE\s0"
148.IX Subsection "Compiling Perl for OS/400 PASE"
149The recommended way to build Perl for the \s-1OS/400\s0 \s-1PASE\s0 is to build the
150Perl 5 source code (release 5.8.1 or later) under \s-1AIX\s0.
151.PP
152The trick is to give a special parameter to the Configure shell script
153when running it on \s-1AIX:\s0
154.PP
155.Vb 1
156\& sh Configure -DPASE ...
157.Ve
158.PP
159The default installation directory of Perl under \s-1PASE\s0 is /QOpenSys/perl.
160This can be modified if needed with Configure parameter \-Dprefix=/some/dir.
161.PP
162Starting from \s-1OS/400\s0 V5R2 the \s-1IBM\s0 Visual Age compiler is supported
163on \s-1OS/400\s0 \s-1PASE\s0, so it is possible to build Perl natively on \s-1OS/400\s0.
164The easier way, however, is to compile in \s-1AIX\s0, as just described.
165.PP
166If you don't want to install the compiled Perl in \s-1AIX\s0 into /QOpenSys
167(for packaging it before copying it to \s-1PASE\s0), you can use a Configure
168parameter: \-Dinstallprefix=/tmp/QOpenSys/perl. This will cause the
169\&\*(L"make install\*(R" to install everything into that directory, while the
170installed files still think they are (will be) in /QOpenSys/perl.
171.PP
172If building natively on \s-1PASE\s0, please do the build under the /QOpenSys
173directory, since Perl is happier when built on a case sensitive filesystem.
174.Sh "Installing Perl in \s-1OS/400\s0 \s-1PASE\s0"
175.IX Subsection "Installing Perl in OS/400 PASE"
176If you are compiling on \s-1AIX\s0, simply do a \*(L"make install\*(R" on the \s-1AIX\s0 box.
177Once the install finishes, tar up the /QOpenSys/perl directory. Transfer
178the tarball to the \s-1OS/400\s0 using \s-1FTP\s0 with the following commands:
179.PP
180.Vb 3
181\& > binary
182\& > site namefmt 1
183\& > put perl.tar /QOpenSys
184.Ve
185.PP
186Once you have it on, simply bring up a \s-1PASE\s0 shell and extract the tarball.
187.PP
188If you are compiling in \s-1PASE\s0, then \*(L"make install\*(R" is the only thing you
189will need to do.
190.PP
191The default path for perl binary is /QOpenSys/perl/bin/perl. You'll
192want to symlink /QOpenSys/usr/bin/perl to this file so you don't have
193to modify your path.
194.Sh "Using Perl in \s-1OS/400\s0 \s-1PASE\s0"
195.IX Subsection "Using Perl in OS/400 PASE"
196Perl in \s-1PASE\s0 may be used in the same manner as you would use Perl on \s-1AIX\s0.
197.PP
198Scripts starting with #!/usr/bin/perl should work if you have
199/QOpenSys/usr/bin/perl symlinked to your perl binary. This will not
200work if you've done a setuid/setgid or have environment variable
201PASE_EXEC_QOPENSYS=\*(L"N\*(R". If you have V5R1, you'll need to get the
202latest PTFs to have this feature. Scripts starting with
203#!/QOpenSys/perl/bin/perl should always work.
204.Sh "Known Problems"
205.IX Subsection "Known Problems"
206When compiling in \s-1PASE\s0, there is no \*(L"oslevel\*(R" command. Therefore,
207you may want to create a script called \*(L"oslevel\*(R" that echoes the
208level of \s-1AIX\s0 that your version of \s-1PASE\s0 runtime supports. If you're
209unsure, consult your documentation or use \*(L"4.3.3.0\*(R".
210.PP
211If you have test cases that fail, check for the existence of spool files.
212The test case may be trying to use a syscall that is not implemented
213in \s-1PASE\s0. To avoid the \s-1SIGILL\s0, try setting the \s-1PASE_SYSCALL_NOSIGILL\s0
214environment variable or have a handler for the \s-1SIGILL\s0. If you can
215compile programs for \s-1PASE\s0, run the config script and edit config.sh
216when it gives you the option. If you want to remove \fIfchdir()\fR, which
217isn't implement in V5R1, simply change the line that says:
218.PP
219d_fchdir='define'
220.PP
221to
222.PP
223d_fchdir='undef'
224.PP
225and then compile Perl. The places where \fIfchdir()\fR is used have
226alternatives for systems that do not have \fIfchdir()\fR available.
227.Sh "Perl on \s-1ILE\s0"
228.IX Subsection "Perl on ILE"
229There exists a port of Perl to the \s-1ILE\s0 environment. This port, however,
230is based quite an old release of Perl, Perl 5.00502 (August 1998).
231(As of July 2002 the latest release of Perl is 5.8.0, and even 5.6.1
232has been out since April 2001.) If you need to run Perl on \s-1ILE\s0, though,
233you may need this older port: http://www.cpan.org/ports/#os400
234Note that any Perl release later than 5.00502 has not been ported to \s-1ILE\s0.
235.PP
236If you need to use Perl in the \s-1ILE\s0 environment, you may want to consider
237using \fIQp2RunPase()\fR to call the \s-1PASE\s0 version of Perl.
238.SH "AUTHORS"
239.IX Header "AUTHORS"
240Jarkko Hietaniemi <jhi@iki.fi>
241Bryan Logan <bryanlog@us.ibm.com>
242David Larson <larson1@us.ibm.com>