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