Once again syncing after too long an absence
[p5sagit/p5-mst-13.2.git] / README.vos
CommitLineData
0e06870b 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
cb50131a 10
0e06870b 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
0e06870b 15=head2 Stratus POSIX Support
495c5fdc 16
0e06870b 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
cb50131a 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
0e06870b 35perl process the output file. These functions are all available
36in the generally-available version of POSIX.
37
38=head1 INSTALLING PERL IN VOS
cb50131a 39
0e06870b 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
0e06870b 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.
495c5fdc 51
0e06870b 52=item 2
495c5fdc 53
0e06870b 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.
495c5fdc 59
0e06870b 60=item 3
cb50131a 61
0e06870b 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
cb50131a 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.
0e06870b 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
cb50131a 100Note that code compiled for the pa7100 processor type can
0e06870b 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.
cb50131a 104
0e06870b 105=head2 Installing Perl 5 on VOS
cb50131a 106
0e06870b 107=over 4
cb50131a 108
0e06870b 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:
cb50131a 120
121 !copy_file vos>obj>perl.pm >system>ported>command_library>*
122
0e06870b 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
128
129Create the directory >system>ported>perl>lib.
130
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:
137
138 !copy_dir lib >system>ported>perl>lib>5.7
cb50131a 139
0e06870b 140=item 5
cb50131a 141
0e06870b 142While there are currently no architecture-specific
143extensions or modules distributed with perl, the following
144directories can be used to hold such files:
cb50131a 145
0e06870b 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
cb50131a 150
0e06870b 151=item 6
cb50131a 152
0e06870b 153Site-specific perl extensions and modules can be installed in one of
154two places. Put architecture-independent files into:
cb50131a 155
0e06870b 156 >system>ported>perl>lib>site>5.7
cb50131a 157
0e06870b 158Put architecture-dependent files into one of the following
159directories:
cb50131a 160
0e06870b 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
cb50131a 165
0e06870b 166=item 7
cb50131a 167
0e06870b 168You can examine the @INC variable from within a perl program
169to see the order in which Perl searches these directories.
495c5fdc 170
0e06870b 171=back
495c5fdc 172
0e06870b 173=head1 USING PERL IN VOS
cb50131a 174
0e06870b 175=head2 Unimplemented Features
176
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".
184
185=head2 Restrictions
495c5fdc 186
cb50131a 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
cb50131a 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
cb50131a 200See the file pod/perlport.pod for more information about the VOS
201port of Perl.
495c5fdc 202
0e06870b 203=head1 SUPPORT STATUS
495c5fdc 204
495c5fdc 205I'm offering this port "as is". You can ask me questions, but I
0e06870b 206can't guarantee I'll be able to answer them. There are some
cb50131a 207excellent books available on the Perl language; consult a book
208seller.
495c5fdc 209
0e06870b 210=head1 AUTHOR
211
212Paul Green (Paul_Green@stratus.com)
213
214=head1 LAST UPDATE
215
216October 24, 2000
217
218=cut