|
Our Accounting software vendor (Lawson) uses Perl for install scripts and
sent us the message below on getting perl 5.8.0 installed so we can use
their newer scripts. The process below sounds way to complicated. Has
anyone installed perl 5.8.0 and might know of an easier way? We do not have
AIX running anywhere
The file perl-5.8.0@xxxxxxxxxxxxxxx is a GNU zipped tar file of Perl 5.8.0
plus a few hundred maintenance patches (the patchlevel "@18380" reflects
that, the 5.8.0 was "@17637"). The original Perl 5.8.0 (July 2002) was not
available for OS/400, but shortly thereafter the necessary changes were made
to be able to build Perl in AIX and to use that binary in the OS/400 PASE.
The .tgz file will unpack into a QOpenSys/perl directory, and you should do
the unpacking in the root directory of the PASE environment, so that the
Perl binary ends up in /QOpenSys/perl/bin/perl. See the end of this file for
more information about using Perl in PASE (the file comes from the
post-5.8.0 sources, so they describe how to do the build from the sources,
too), for example how to transfer the file to PASE. If you don't have gunzip
in PASE (to do the .tgz->.tar conversion), you'll have to do the gunzipping
somewhere else first. The older port of Perl to AS/400 is in the old/
directory. It is an olde
r version of Perl, version 5.00502 (August 1998), and it is for the ILE,
not for the PASE.
Perl version 5 on OS/400
DESCRIPTION This document describes various features of IBM's OS/400
operating system that will affect how Perl version 5 (hereafter just Perl)
is compiled and/or runs. By far the easiest way to build Perl for OS/400 is
to use the PASE (Portable Application Solutions Environment), for more
information see
http://www.iseries.ibm.com/developer/factory/pase/index.html This
environment allows one to use AIX APIs while programming, and it provides a
runtime that allows AIX binaries to execute directly on the PowerPC iSeries.
Compiling Perl for OS/400 PASE The recommended way to build Perl for the
OS/400 PASE is to build the Perl 5 source code (release 5.8.1 or later)
under AIX. The trick is to give a special parameter to the Configure shell
script when running it on AIX: sh Configure -DPASE ... The default
installation directory of Perl under PASE is /QOpenSys/perl. This can be
modified if needed with Configure parameter -Dprefix=/some/dir. Starting
from OS/400 V5R2 the IBM Visual Age compiler is supported on OS/400 PASE, so
it is possible to build Perl natively on OS/400. The easier way, however, is
to compile in AIX, as just described. If you don't want to install the
compiled Perl in AIX into /QOpenSys (for packaging it before copying it to
PASE), you can use a Configure parameter:
-Dinstallprefix=/tmp/QOpenSys/perl. This will cause the "make install" to
install everything into that directory, while the installed files still
think they are (will be) in /QOpenSys/perl. If building natively on P
ASE, please do the build under the /QOpenSys directory, since Perl is
happier when built on a case sensitive filesystem.
Installing Perl in OS/400 PASE If you are compiling on AIX, simply do a
"make install" on the AIX box. Once the install finishes, tar up the
/QOpenSys/perl directory. Transfer the tarball to the OS/400 using FTP with
the following commands: > binary > site namefmt 1 > put perl.tar /QOpenSys
Once you have it on, simply bring up a PASE shell and extract the tarball.
If you are compiling in PASE, then "make install" is the only thing you will
need to do. 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.
Using Perl in OS/400 PASE Perl in PASE may be used in the same manner as
you would use Perl on AIX. 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="N". 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.
Known Problems When compiling in PASE, there is no "oslevel" command.
Therefore, you may want to create a script called "oslevel" that echoes the
level of AIX that your version of PASE runtime supports. If you're unsure,
consult your documentation or use "4.3.3.0". 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 PASE. To avoid the SIGILL, try
setting the PASE_SYSCALL_NOSIGILL environment variable or have a handler for
the SIGILL. If you can compile programs for PASE, run the config script and
edit config.sh when it gives you the option. If you want to remove fchdir(),
which isn't implement in V5R1, simply change the line that says:
d_fchdir='define' to d_fchdir='undef' and then compile Perl. The places
where fchdir() is used have alternatives for systems that do not have
fchdir() available.
Perl on ILE There exists a port of Perl to the ILE 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 ILE, 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 ILE. If you need to use
Perl in the ILE environment, you may want to consider using Qp2RunPase() to
call the PASE version of Perl.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.