You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
218 lines
7.3 KiB
218 lines
7.3 KiB
If you read this file _as_is_, just ignore the funny characters you
|
|
see. It is written in the POD format (see pod/perlpod.pod) which is
|
|
specially designed to be readable as is.
|
|
|
|
=head1 NAME
|
|
|
|
README.vos - Perl for Stratus VOS
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
This is a port of Perl version 5 to VOS. Perl is a scripting or
|
|
macro language that is popular on many systems. See your local
|
|
computer bookstore for a number of good books on Perl.
|
|
|
|
=head2 Stratus POSIX Support
|
|
|
|
Note that there are two different implementations of POSIX.1
|
|
support on VOS. There is an alpha version of POSIX that is
|
|
available from the Stratus anonymous ftp site
|
|
(ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html). There
|
|
is a generally-available version of POSIX that comes with the
|
|
VOS Standard C compiler and C runtime in VOS Release 14.3.0 or
|
|
higher. This port of POSIX will compile and bind with either
|
|
version of POSIX.
|
|
|
|
Most of the Perl features should work on VOS regardless of which
|
|
version of POSIX that you are using. However, the alpha version
|
|
of POSIX is missing a number of key functions, and therefore any
|
|
attempt by perl.pm to call the following unimplemented POSIX
|
|
functions will result in an error message and an immediate and
|
|
fatal call to the VOS debugger. They are "dup", "fork", and
|
|
"waitpid". The lack of these functions pretty much prevents you
|
|
from starting VOS commands and grabbing their output in perl.
|
|
The workaround is to run the commands outside of perl, then have
|
|
perl process the output file. These functions are all available
|
|
in the generally-available version of POSIX.
|
|
|
|
=head1 INSTALLING PERL IN VOS
|
|
|
|
=head2 Compiling Perl 5 on VOS
|
|
|
|
Before you can build Perl 5 on VOS, you need to have or acquire the
|
|
following additional items.
|
|
|
|
=over 5
|
|
|
|
=item 1
|
|
|
|
The VOS Standard C Compiler and Runtime, or the VOS Standard C
|
|
Cross-Compiler. This is a standard Stratus product.
|
|
|
|
=item 2
|
|
|
|
Either the VOS OS TCP/IP or STCP product set. If you are
|
|
building with the alpha version of POSIX you need the OS
|
|
TCP/IP product set. If you are building with the
|
|
generally-available version of POSIX you need the STCP
|
|
product set. These are standard Stratus products.
|
|
|
|
=item 3
|
|
|
|
Either the alpha or generally-available version of the VOS
|
|
POSIX.1 environment.
|
|
|
|
The alpha version of POSIX.1 support is available on the
|
|
Stratus FTP site. Login anonymously to ftp.stratus.com and
|
|
get the file /pub/vos/posix/alpha/posix.save.evf.gz in
|
|
binary file-transfer mode. Or use the Uniform Resource
|
|
Locator (URL)
|
|
ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
|
|
your web browser. Instructions for unbundling this file
|
|
are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
|
|
This is not a standard Stratus product.
|
|
|
|
The generally-available version of POSIX.1 support is
|
|
bundled with the VOS Standard C compiler and Runtime (or
|
|
Cross-Compiler) in VOS Release 14.3.0 or higher. This is a
|
|
standard Stratus product.
|
|
|
|
=item 4
|
|
|
|
You must compile this version of Perl 5 on VOS Release
|
|
14.1.0 or higher because some of the perl source files
|
|
contain more than 32,767 source lines. Due to VOS
|
|
release-compatibility rules, this port of perl may not
|
|
execute on VOS Release 12 or earlier.
|
|
|
|
=back
|
|
|
|
To build perl 5, change to the "vos" subdirectory and type the
|
|
command "compile_perl -processor X", where X is the processor
|
|
type (mc68020, i80860, pa7100, pa8000) that you wish to use.
|
|
Note that the generally-available version of POSIX.1 support is
|
|
not available for the mc68020 or i80860 processors.
|
|
|
|
You must have purchased the VOS Standard C Cross Compiler in
|
|
order to compile perl for a processor type that is different
|
|
from the processor type of the module.
|
|
|
|
Note that code compiled for the pa7100 processor type can
|
|
execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
|
|
that code compiled for the pa8000 processor type can execute on
|
|
the PA8000, PA8500 and PA8600 processors.
|
|
|
|
=head2 Installing Perl 5 on VOS
|
|
|
|
=over 4
|
|
|
|
=item 1
|
|
|
|
Create the directory >system>ported>command_library.
|
|
|
|
=item 2
|
|
|
|
Copy the appropriate version of the perl program module to
|
|
this directory. For example, with your current directory
|
|
set to the top-level directory of Perl 5, to install the
|
|
executable program module for the Motorola 68K
|
|
architecture, enter:
|
|
|
|
!copy_file vos>obj>perl.pm >system>ported>command_library>*
|
|
|
|
(If you wish to use both Perl version 4 and Perl version 5,
|
|
you must give them different names; for example, perl.pm
|
|
and perl5.pm).
|
|
|
|
=item 3
|
|
|
|
Create the directory >system>ported>perl>lib.
|
|
|
|
=item 4
|
|
|
|
Copy all of the files and subdirectories from the lib
|
|
subdirectory into this new directory. For example, with
|
|
the current directory set to the top-level directory of the
|
|
perl distribution, enter:
|
|
|
|
!copy_dir lib >system>ported>perl>lib>5.6
|
|
|
|
=item 5
|
|
|
|
While there are currently no architecture-specific
|
|
extensions or modules distributed with perl, the following
|
|
directories can be used to hold such files:
|
|
|
|
>system>ported>perl>lib>5.6.68k
|
|
>system>ported>perl>lib>5.6.860
|
|
>system>ported>perl>lib>5.6.7100
|
|
>system>ported>perl>lib>5.6.8000
|
|
|
|
=item 6
|
|
|
|
Site-specific perl extensions and modules can be installed in one of
|
|
two places. Put architecture-independent files into:
|
|
|
|
>system>ported>perl>lib>site>5.6
|
|
|
|
Put architecture-dependent files into one of the following
|
|
directories:
|
|
|
|
>system>ported>perl>lib>site>5.6.68k
|
|
>system>ported>perl>lib>site>5.6.860
|
|
>system>ported>perl>lib>site>5.6.7100
|
|
>system>ported>perl>lib>site>5.6.8000
|
|
|
|
=item 7
|
|
|
|
You can examine the @INC variable from within a perl program
|
|
to see the order in which Perl searches these directories.
|
|
|
|
=back
|
|
|
|
=head1 USING PERL IN VOS
|
|
|
|
=head2 Unimplemented Features
|
|
|
|
If perl is built with the alpha version of VOS POSIX.1 support
|
|
and if it attempts to call an unimplemented VOS POSIX.1
|
|
function, it will print a fatal error message and enter the VOS
|
|
debugger. This error is not recoverable. See vos_dummies.c for
|
|
a list of the unimplemented POSIX.1 functions. To see what
|
|
functions are unimplemented and what the error message looks
|
|
like, compile and execute "test_vos_dummies.c".
|
|
|
|
=head2 Restrictions
|
|
|
|
This port of Perl version 5 to VOS prefers Unix-style,
|
|
slash-separated pathnames over VOS-style greater-than-separated
|
|
pathnames. VOS-style pathnames should work in most contexts, but
|
|
if you have trouble, replace all greater-than characters by slash
|
|
characters. Because the slash character is used as a pathname
|
|
delimiter, Perl cannot process VOS pathnames containing a slash
|
|
character in a directory or file name; these must be renamed.
|
|
|
|
This port of Perl also uses Unix-epoch date values internally.
|
|
As long as you are dealing with ASCII character string
|
|
representations of dates, this should not be an issue. The
|
|
supported epoch is January 1, 1980 to January 17, 2038.
|
|
|
|
See the file pod/perlport.pod for more information about the VOS
|
|
port of Perl.
|
|
|
|
=head1 SUPPORT STATUS
|
|
|
|
I'm offering this port "as is". You can ask me questions, but I
|
|
can't guarantee I'll be able to answer them. There are some
|
|
excellent books available on the Perl language; consult a book
|
|
seller.
|
|
|
|
=head1 AUTHOR
|
|
|
|
Paul Green ([email protected])
|
|
|
|
=head1 LAST UPDATE
|
|
|
|
February 13, 2001
|
|
|
|
=cut
|