README.os390 - building and installing Perl for OS/390.
SYNOPSIS
This document will help you Configure, build, test and
install Perl on OS/390 Unix System Services.
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.
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
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/pro
tocol 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
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 speci
fies the correct values for most things. Some things to
watch out for include:
· Some of the parser default template files in /samples
are needed in /etc. In particular be sure that you at
perl's Configure. This step ensures successful
extraction of EBCDIC versions of parser files such as
perly.c.
· This port doesn't support dynamic loading. Although
OS/390 has support for DLLs, there are some differ
ences that cause problems for perl.
· You may see a "WHOA THERE!!!" message for $d_shmatpro
totype it is OK to keep the recommended "define".
· 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.
· 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 geth
ostbyname() works, and make sure that the file
/etc/proto has been renamed to /etc/protocol (NOT
/etc/protocols, as used by other Unix systems).
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.
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`
the shell to have perl run your scripts for you.
Extensions
You can build xs based extensions to Perl for OS/390 but
will need to follow the instructions in ExtUtils::Make
Maker for building statically linked perl binaries. In
most cases people have reported better results with GNU
make rather than the system's /bin/make.
AUTHORS
David Fiander and Peter Prymmer.
SEE ALSO
the INSTALL manpage, the perlport manpage, the ExtU
tils::MakeMaker manpage.
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 subscibe, send
a message of:
subscribe perl-mvs
to majordomo@perl.org.
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.
Man(1) output converted with
man2html