Fixing PERL5OPT (was Re: Warnings, strict, and CPAN)
[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
9a997319 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 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 29attempt by perl.pm to call the following unimplemented POSIX
30functions will result in an error message and an immediate and
24e8e380 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 35perl process the output file. These functions are all available
36in the generally-available version of POSIX.
24e8e380 37
9a997319 38=head1 INSTALLING PERL IN VOS
39
40=head2 Compiling Perl 5 on VOS
495c5fdc 41
495c5fdc 42Before you can build Perl 5 on VOS, you need to have or acquire the
43following additional items.
44
9a997319 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 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 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 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 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 120
121 !copy_file vos>obj>perl.pm >system>ported>command_library>*
122
9a997319 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 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 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 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 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 158Put architecture-dependent files into one of the following
159directories:
24e8e380 160
5b8c1387 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 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 171=back
172
173=head1 USING PERL IN VOS
174
175=head2 Unimplemented Features
495c5fdc 176
5b8c1387 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
9a997319 185=head2 Restrictions
495c5fdc 186
24e8e380 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 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 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 207excellent books available on the Perl language; consult a book
208seller.
495c5fdc 209
9a997319 210=head1 AUTHOR
211
212Paul Green (Paul_Green@stratus.com)
213
214=head1 LAST UPDATE
215
216October 24, 2000
217
218=cut