diff options
Diffstat (limited to 'upstream/debian-bookworm/man1/perlos400.1')
-rw-r--r-- | upstream/debian-bookworm/man1/perlos400.1 | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man1/perlos400.1 b/upstream/debian-bookworm/man1/perlos400.1 new file mode 100644 index 00000000..b8cdd593 --- /dev/null +++ b/upstream/debian-bookworm/man1/perlos400.1 @@ -0,0 +1,191 @@ +.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "PERLOS400 1" +.TH PERLOS400 1 "2023-11-25" "perl v5.36.0" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +perlos400 \- Perl version 5 on OS/400 +.PP +This document needs to be updated, but we don't know what it should say. +Please submit comments to <https://github.com/Perl/perl5/issues>. +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This document describes various features of \s-1IBM\s0's \s-1OS/400\s0 operating +system that will affect how Perl version 5 (hereafter just Perl) is +compiled and/or runs. +.PP +By far the easiest way to build Perl for \s-1OS/400\s0 is to use the \s-1PASE\s0 +(Portable Application Solutions Environment), for more information see +<http://www.iseries.ibm.com/developer/factory/pase/index.html> +This environment allows one to use \s-1AIX\s0 APIs while programming, and it +provides a runtime that allows \s-1AIX\s0 binaries to execute directly on the +PowerPC iSeries. +.SS "Compiling Perl for \s-1OS/400 PASE\s0" +.IX Subsection "Compiling Perl for OS/400 PASE" +The recommended way to build Perl for the \s-1OS/400 PASE\s0 is to build the +Perl 5 source code (release 5.8.1 or later) under \s-1AIX.\s0 +.PP +The trick is to give a special parameter to the Configure shell script +when running it on \s-1AIX:\s0 +.PP +.Vb 1 +\& sh Configure \-DPASE ... +.Ve +.PP +The default installation directory of Perl under \s-1PASE\s0 is /QOpenSys/perl. +This can be modified if needed with Configure parameter \-Dprefix=/some/dir. +.PP +Starting from \s-1OS/400 V5R2\s0 the \s-1IBM\s0 Visual Age compiler is supported +on \s-1OS/400 PASE,\s0 so it is possible to build Perl natively on \s-1OS/400.\s0 +The easier way, however, is to compile in \s-1AIX,\s0 as just described. +.PP +If you don't want to install the compiled Perl in \s-1AIX\s0 into /QOpenSys +(for packaging it before copying it to \s-1PASE\s0), you can use a Configure +parameter: \-Dinstallprefix=/tmp/QOpenSys/perl. This will cause the +\&\*(L"make install\*(R" to install everything into that directory, while the +installed files still think they are (will be) in /QOpenSys/perl. +.PP +If building natively on \s-1PASE,\s0 please do the build under the /QOpenSys +directory, since Perl is happier when built on a case sensitive filesystem. +.SS "Installing Perl in \s-1OS/400 PASE\s0" +.IX Subsection "Installing Perl in OS/400 PASE" +If you are compiling on \s-1AIX,\s0 simply do a \*(L"make install\*(R" on the \s-1AIX\s0 box. +Once the install finishes, tar up the /QOpenSys/perl directory. Transfer +the tarball to the \s-1OS/400\s0 using \s-1FTP\s0 with the following commands: +.PP +.Vb 3 +\& > binary +\& > site namefmt 1 +\& > put perl.tar /QOpenSys +.Ve +.PP +Once you have it on, simply bring up a \s-1PASE\s0 shell and extract the tarball. +.PP +If you are compiling in \s-1PASE,\s0 then \*(L"make install\*(R" is the only thing you +will need to do. +.PP +The default path for perl binary is /QOpenSys/perl/bin/perl. You'll +want to symlink /QOpenSys/usr/bin/perl to this file so you don't have +to modify your path. +.SS "Using Perl in \s-1OS/400 PASE\s0" +.IX Subsection "Using Perl in OS/400 PASE" +Perl in \s-1PASE\s0 may be used in the same manner as you would use Perl on \s-1AIX.\s0 +.PP +Scripts starting with #!/usr/bin/perl should work if you have +/QOpenSys/usr/bin/perl symlinked to your perl binary. This will not +work if you've done a setuid/setgid or have environment variable +PASE_EXEC_QOPENSYS=\*(L"N\*(R". If you have V5R1, you'll need to get the +latest PTFs to have this feature. Scripts starting with +#!/QOpenSys/perl/bin/perl should always work. +.SS "Known Problems" +.IX Subsection "Known Problems" +When compiling in \s-1PASE,\s0 there is no \*(L"oslevel\*(R" command. Therefore, +you may want to create a script called \*(L"oslevel\*(R" that echoes the +level of \s-1AIX\s0 that your version of \s-1PASE\s0 runtime supports. If you're +unsure, consult your documentation or use \*(L"4.3.3.0\*(R". +.PP +If you have test cases that fail, check for the existence of spool files. +The test case may be trying to use a syscall that is not implemented +in \s-1PASE.\s0 To avoid the \s-1SIGILL,\s0 try setting the \s-1PASE_SYSCALL_NOSIGILL\s0 +environment variable or have a handler for the \s-1SIGILL.\s0 If you can +compile programs for \s-1PASE,\s0 run the config script and edit config.sh +when it gives you the option. If you want to remove \fBfchdir()\fR, which +isn't implement in V5R1, simply change the line that says: +.PP +d_fchdir='define' +.PP +to +.PP +d_fchdir='undef' +.PP +and then compile Perl. The places where \fBfchdir()\fR is used have +alternatives for systems that do not have \fBfchdir()\fR available. +.SS "Perl on \s-1ILE\s0" +.IX Subsection "Perl on ILE" +There exists a port of Perl to the \s-1ILE\s0 environment. This port, however, +is based quite an old release of Perl, Perl 5.00502 (August 1998). +(As of July 2002 the latest release of Perl is 5.8.0, and even 5.6.1 +has been out since April 2001.) If you need to run Perl on \s-1ILE,\s0 though, +you may need this older port: <http://www.cpan.org/ports/#os400> +Note that any Perl release later than 5.00502 has not been ported to \s-1ILE.\s0 +.PP +If you need to use Perl in the \s-1ILE\s0 environment, you may want to consider +using \fBQp2RunPase()\fR to call the \s-1PASE\s0 version of Perl. +.SH "AUTHORS" +.IX Header "AUTHORS" +Jarkko Hietaniemi <jhi@iki.fi> +Bryan Logan <bryanlog@us.ibm.com> +David Larson <larson1@us.ibm.com> |