This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Not many people know this ...
[perl5.git] / README.vos
CommitLineData
9a997319
JH
1If you read this file _as_is_, just ignore the funny characters you
2see. It is written in the POD format (see pod/perlpod.pod) which is
3specially designed to be readable as is.
4
5=head1 NAME
6
7README.vos - Perl for Stratus VOS
8
9=head1 SYNOPSIS
24e8e380 10
9a997319
JH
11This is a port of Perl version 5, revision 7, to VOS. Perl is a
12scripting or macro language that is popular on many systems. See your
13local computer bookstore for a number of good books on Perl.
495c5fdc 14
9a997319 15=head2 Stratus POSIX Support
495c5fdc 16
5b8c1387
JH
17Note that there are two different implementations of POSIX.1
18support on VOS. There is an alpha version of POSIX that is
19available from the Stratus anonymous ftp site
20(ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html). There
21is a generally-available version of POSIX that comes with the
22VOS Standard C compiler and C runtime in VOS Release 14.3.0 or
23higher. This port of POSIX will compile and bind with either
24version of POSIX.
25
26Most of the Perl features should work on VOS regardless of which
27version of POSIX that you are using. However, the alpha version
28of POSIX is missing a number of key functions, and therefore any
495c5fdc
GP
29attempt by perl.pm to call the following unimplemented POSIX
30functions will result in an error message and an immediate and
24e8e380
GS
31fatal call to the VOS debugger. They are "dup", "fork", and
32"waitpid". The lack of these functions pretty much prevents you
33from starting VOS commands and grabbing their output in perl.
34The workaround is to run the commands outside of perl, then have
5b8c1387
JH
35perl process the output file. These functions are all available
36in the generally-available version of POSIX.
24e8e380 37
9a997319
JH
38=head1 INSTALLING PERL IN VOS
39
40=head2 Compiling Perl 5 on VOS
495c5fdc 41
495c5fdc
GP
42Before you can build Perl 5 on VOS, you need to have or acquire the
43following additional items.
44
9a997319
JH
45=over 5
46
47=item 1
48
49The VOS Standard C Compiler and Runtime, or the VOS Standard C
50Cross-Compiler. This is a standard Stratus product.
51
52=item 2
53
54Either the VOS OS TCP/IP or STCP product set. If you are
55building with the alpha version of POSIX you need the OS
56TCP/IP product set. If you are building with the
57generally-available version of POSIX you need the STCP
58product set. These are standard Stratus products.
59
60=item 3
61
62Either the alpha or generally-available version of the VOS
63POSIX.1 environment.
64
65The alpha version of POSIX.1 support is available on the
66Stratus FTP site. Login anonymously to ftp.stratus.com and
67get the file /pub/vos/posix/alpha/posix.save.evf.gz in
68binary file-transfer mode. Or use the Uniform Resource
69Locator (URL)
70ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
71your web browser. Instructions for unbundling this file
72are at ftp://ftp.stratus.com/pub/vos/utility/utility.html.
73This is not a standard Stratus product.
74
75The generally-available version of POSIX.1 support is
76bundled with the VOS Standard C compiler and Runtime (or
77Cross-Compiler) in VOS Release 14.3.0 or higher. This is a
78standard Stratus product.
79
80=item 4
81
82You must compile this version of Perl 5 on VOS Release
8314.1.0 or higher because some of the perl source files
84contain more than 32,767 source lines. Due to VOS
85release-compatibility rules, this port of perl may not
86execute on VOS Release 12 or earlier.
87
88=back
24e8e380
GS
89
90To build perl 5, change to the "vos" subdirectory and type the
91command "compile_perl -processor X", where X is the processor
92type (mc68020, i80860, pa7100, pa8000) that you wish to use.
5b8c1387
JH
93Note that the generally-available version of POSIX.1 support is
94not available for the mc68020 or i80860 processors.
95
96You must have purchased the VOS Standard C Cross Compiler in
97order to compile perl for a processor type that is different
98from the processor type of the module.
99
24e8e380 100Note that code compiled for the pa7100 processor type can
5b8c1387
JH
101execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
102that code compiled for the pa8000 processor type can execute on
103the PA8000, PA8500 and PA8600 processors.
24e8e380 104
9a997319 105=head2 Installing Perl 5 on VOS
24e8e380 106
9a997319 107=over 4
24e8e380 108
9a997319
JH
109=item 1
110
111Create the directory >system>ported>command_library.
112
113=item 2
114
115Copy the appropriate version of the perl program module to
116this directory. For example, with your current directory
117set to the top-level directory of Perl 5, to install the
118executable program module for the Motorola 68K
119architecture, enter:
24e8e380
GS
120
121 !copy_file vos>obj>perl.pm >system>ported>command_library>*
122
9a997319
JH
123(If you wish to use both Perl version 4 and Perl version 5,
124you must give them different names; for example, perl.pm
125and perl5.pm).
126
127=item 3
24e8e380 128
9a997319 129Create the directory >system>ported>perl>lib.
24e8e380 130
9a997319
JH
131=item 4
132
133Copy all of the files and subdirectories from the lib
134subdirectory into this new directory. For example, with
135the current directory set to the top-level directory of the
136perl distribution, enter:
24e8e380 137
5b8c1387 138 !copy_dir lib >system>ported>perl>lib>5.7
24e8e380 139
9a997319
JH
140=item 5
141
142While there are currently no architecture-specific
143extensions or modules distributed with perl, the following
144directories can be used to hold such files:
24e8e380 145
5b8c1387
JH
146 >system>ported>perl>lib>5.7.68k
147 >system>ported>perl>lib>5.7.860
148 >system>ported>perl>lib>5.7.7100
149 >system>ported>perl>lib>5.7.8000
24e8e380 150
9a997319
JH
151=item 6
152
153Site-specific perl extensions and modules can be installed in one of
154two places. Put architecture-independent files into:
24e8e380 155
5b8c1387 156 >system>ported>perl>lib>site>5.7
24e8e380 157
9a997319
JH
158Put architecture-dependent files into one of the following
159directories:
24e8e380 160
5b8c1387
JH
161 >system>ported>perl>lib>site>5.7.68k
162 >system>ported>perl>lib>site>5.7.860
163 >system>ported>perl>lib>site>5.7.7100
164 >system>ported>perl>lib>site>5.7.8000
24e8e380 165
9a997319
JH
166=item 7
167
168You can examine the @INC variable from within a perl program
169to see the order in which Perl searches these directories.
495c5fdc 170
9a997319
JH
171=back
172
173=head1 USING PERL IN VOS
174
a83b6f46 175=head2 Unimplemented Features of Perl on VOS
495c5fdc 176
5b8c1387
JH
177If perl is built with the alpha version of VOS POSIX.1 support
178and if it attempts to call an unimplemented VOS POSIX.1
179function, it will print a fatal error message and enter the VOS
180debugger. This error is not recoverable. See vos_dummies.c for
181a list of the unimplemented POSIX.1 functions. To see what
182functions are unimplemented and what the error message looks
183like, compile and execute "test_vos_dummies.c".
24e8e380 184
a83b6f46 185=head2 Restrictions of Perl on VOS
495c5fdc 186
24e8e380
GS
187This port of Perl version 5 to VOS prefers Unix-style,
188slash-separated pathnames over VOS-style greater-than-separated
189pathnames. VOS-style pathnames should work in most contexts, but
190if you have trouble, replace all greater-than characters by slash
191characters. Because the slash character is used as a pathname
192delimiter, Perl cannot process VOS pathnames containing a slash
193character in a directory or file name; these must be renamed.
495c5fdc 194
24e8e380
GS
195This port of Perl also uses Unix-epoch date values internally.
196As long as you are dealing with ASCII character string
197representations of dates, this should not be an issue. The
198supported epoch is January 1, 1980 to January 17, 2038.
495c5fdc 199
24e8e380
GS
200See the file pod/perlport.pod for more information about the VOS
201port of Perl.
495c5fdc 202
9a997319 203=head1 SUPPORT STATUS
495c5fdc 204
495c5fdc 205I'm offering this port "as is". You can ask me questions, but I
5b8c1387 206can't guarantee I'll be able to answer them. There are some
24e8e380
GS
207excellent books available on the Perl language; consult a book
208seller.
495c5fdc 209
9a997319
JH
210=head1 AUTHOR
211
212Paul Green (Paul_Green@stratus.com)
213
214=head1 LAST UPDATE
215
216October 24, 2000
217
218=cut