This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[ID 20000928.002] perlcc & ByteCode.pm option mismatch
[perl5.git] / README.vos
1 Perl 5 README file for the Stratus VOS operating system.
2 Paul Green (Paul_Green@stratus.com)
3 February 3, 2000
4
5
6 Introduction
7 ------------
8 This is a port of Perl version 5, revision 005-63, 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 4.   You must compile this version of Perl 5 on VOS Release
48      14.1.0 or higher because some of the perl source files
49      contain more than 32,767 source lines.  Due to VOS
50      release-compatibility rules, this port of perl may not
51      execute on VOS Release 12 or earlier.
52
53 To build perl 5, change to the "vos" subdirectory and type the
54 command "compile_perl -processor X", where X is the processor
55 type (mc68020, i80860, pa7100, pa8000) that you wish to use.
56 Note that code compiled for the pa7100 processor type can
57 execute on the PA7100, PA8000, and PA8500 processors, and that
58 code compiled for the pa8000 processor type can execute on the
59 PA8000 and PA8500 processors.
60
61
62 Installing Perl 5 on VOS
63 ------------------------
64 1.   Create the directory >system>ported>command_library.
65
66 2.   Copy the appropriate version of the perl program module to
67      this directory.  For example, with your current directory
68      set to the top-level directory of Perl 5, to install the
69      executable program module for the Motorola 68K
70      architecture, enter:
71
72           !copy_file vos>obj>perl.pm >system>ported>command_library>*
73
74      (If you wish to use both Perl version 4 and Perl version 5,
75      you must give them different names; for example, perl.pm
76      and perl5.pm).
77
78 3.   Create the directory >system>ported>perl>lib.
79
80 4.   Copy all of the files and subdirectories from the lib
81      subdirectory into this new directory.  For example, with
82      the current directory set to the top-level directory of the
83      perl distribution, enter:
84
85           !copy_dir lib >system>ported>perl>lib>5.005
86
87 5.   While there are currently no architecture-specific
88      extensions or modules distributed with perl, the following
89      directories can be used to hold such files:
90
91           >system>ported>perl>lib>5.005.68k
92           >system>ported>perl>lib>5.005.860
93           >system>ported>perl>lib>5.005.7100
94           >system>ported>perl>lib>5.005.8000
95
96 6.   Site-specific perl extensions and modules can be installed
97      in one of two places.  Put architecture-independent files
98      into:
99
100           >system>ported>perl>lib>site>5.005
101
102      Put architecture-dependent files into one of the following
103      directories:
104
105           >system>ported>perl>lib>site>5.005.68k
106           >system>ported>perl>lib>site>5.005.860
107           >system>ported>perl>lib>site>5.005.7100
108           >system>ported>perl>lib>site>5.005.8000
109
110 7.   You can examine the @INC variable from within a perl program
111      to see the order in which Perl searches these directories.
112
113
114 Unimplemented Features
115 ----------------------
116 If Perl 5 attempts to call an unimplemented VOS POSIX.1 function,
117 it will print a fatal error message and enter the VOS debugger.
118 This error is not recoverable.  See vos_dummies.c for a list of
119 the unimplemented POSIX.1 functions.  To see what functions are
120 unimplemented and what the error message looks like, compile and
121 execute "test_vos_dummies.c".
122
123
124 Restrictions
125 ------------
126 This port of Perl version 5 to VOS prefers Unix-style,
127 slash-separated pathnames over VOS-style greater-than-separated
128 pathnames.  VOS-style pathnames should work in most contexts, but
129 if you have trouble, replace all greater-than characters by slash
130 characters.  Because the slash character is used as a pathname
131 delimiter, Perl cannot process VOS pathnames containing a slash
132 character in a directory or file name; these must be renamed.
133
134 This port of Perl also uses Unix-epoch date values internally.
135 As long as you are dealing with ASCII character string
136 representations of dates, this should not be an issue.  The
137 supported epoch is January 1, 1980 to January 17, 2038.
138
139 See the file pod/perlport.pod for more information about the VOS
140 port of Perl.
141
142
143 Support Status
144 --------------
145 I'm offering this port "as is".  You can ask me questions, but I
146 can't guarantee I'll be able to answer them; I don't know much
147 about Perl itself; I'm still learning that.  There are some
148 excellent books available on the Perl language; consult a book
149 seller.
150
151 (end)