This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
integrate changes#2978,2979 from mainline
[perl5.git] / README.vos
1 Perl 5 README file for the Stratus VOS operating system.
2 Paul Green (Paul_Green@stratus.com)
3 February 4, 1999
4
5
6 Introduction
7 ------------
8 This is a port of Perl version 5, revision 005-03, 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 Most of the Perl features should work on VOS.  However, any
14 attempt by perl.pm to call the following unimplemented POSIX
15 functions will result in an error message and an immediate and
16 fatal call to the VOS debugger.  They are "dup", "fork", and
17 "waitpid".  The lack of these functions pretty much prevents you
18 from starting VOS commands and grabbing their output in perl.
19 The workaround is to run the commands outside of perl, then have
20 perl process the output file.
21
22
23 Compiling Perl 5 on VOS
24 -----------------------
25 Before you can build Perl 5 on VOS, you need to have or acquire the
26 following additional items.
27
28 1.   The VOS Standard C Compiler and Runtime, or the VOS Standard C
29      Cross-Compiler.  This is a standard Stratus product.
30
31 2.   The VOS OS TCP/IP product set.  While the necessary header
32      files are included with VOS POSIX.1, you still need the
33      appropriate object files in order to bind perl.pm.  This is
34      a standard Stratus product.
35
36 3.   The VOS POSIX.1 environment.  As of this writing, this is
37      available on the VOS FTP site.  Login anonymously to
38      ftp.stratus.com and get the file
39      /pub/vos/alpha/posix.save.evf.gz in binary file-transfer
40      mode.  Or use the Uniform Resource Locator (URL)
41      ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
42      your web browser.  This is not a standard Stratus product.
43
44      Instructions for unbundling this file are at
45      ftp://ftp.stratus.com/pub/vos/utility/utility.html.
46
47 To build perl 5, change to the "vos" subdirectory and type the
48 command "compile_perl -processor X", where X is the processor
49 type (mc68020, i80860, pa7100, pa8000) that you wish to use.
50
51
52 Installing Perl 5 on VOS
53 ------------------------
54 1.   Create the directory >system>ported>command_library.
55
56 2.   Copy the appropriate version of the perl program module to
57      this directory.  For example, with your current directory
58      set to the top-level directory of Perl 5, to install the
59      executable program module for the Motorola 68K
60      architecture, enter:
61
62           !copy_file vos>obj>perl.pm >system>ported>command_library>*
63
64      (If you wish to use both Perl version 4 and Perl version 5,
65      you must give them different names; for example, perl.pm
66      and perl5.pm).
67
68 3.   Create the directory >system>ported>perl>lib.
69
70 4.   Copy all of the files and subdirectories from the lib
71      subdirectory into this new directory.  For example, with
72      the current directory set to the top-level directory of the
73      perl distribution, enter:
74
75           !copy_dir lib >system>ported>perl>lib>5.005
76
77 5.   While there are currently no architecture-specific
78      extensions or modules distributed with perl, the following
79      directories can be used to hold such files:
80
81           >system>ported>perl>lib>5.005.68k
82           >system>ported>perl>lib>5.005.860
83           >system>ported>perl>lib>5.005.7100
84           >system>ported>perl>lib>5.005.8000
85
86 6.   Site-specific perl extensions and modules can be installed
87      in one of two places.  Put architecture-independent files
88      into:
89
90           >system>ported>perl>lib>site>5.005
91
92      Put architecture-dependent files into one of the following
93      directories:
94
95           >system>ported>perl>lib>site>5.005.68k
96           >system>ported>perl>lib>site>5.005.860
97           >system>ported>perl>lib>site>5.005.7100
98           >system>ported>perl>lib>site>5.005.8000
99
100 7.   You can examine the @INC variable from within a perl program
101      to see the order in which Perl searches these directories.
102
103
104 Unimplemented Features
105 ----------------------
106 If Perl 5 attempts to call an unimplemented VOS POSIX.1 function,
107 it will print a fatal error message and enter the VOS debugger.
108 This error is not recoverable.  See vos_dummies.c for a list of
109 the unimplemented POSIX.1 functions.  To see what functions are
110 unimplemented and what the error message looks like, compile and
111 execute "test_vos_dummies.c".
112
113
114 Restrictions
115 ------------
116 This port of Perl version 5 to VOS prefers Unix-style,
117 slash-separated pathnames over VOS-style greater-than-separated
118 pathnames.  VOS-style pathnames should work in most contexts, but
119 if you have trouble, replace all greater-than characters by slash
120 characters.  Because the slash character is used as a pathname
121 delimiter, Perl cannot process VOS pathnames containing a slash
122 character in a directory or file name; these must be renamed.
123
124 This port of Perl also uses Unix-epoch date values internally.
125 As long as you are dealing with ASCII character string
126 representations of dates, this should not be an issue.  The
127 supported epoch is January 1, 1980 to January 17, 2038.
128
129 See the file pod/perlport.pod for more information about the VOS
130 port of Perl.
131
132
133 Support Status
134 --------------
135 I'm offering this port "as is".  You can ask me questions, but I
136 can't guarantee I'll be able to answer them; I don't know much
137 about Perl itself; I'm still learning that.
138
139 (end)