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