Commit | Line | Data |
495c5fdc |
1 | Perl 5 README file for the Stratus VOS operating system. |
2 | Paul Green (Paul_Green@stratus.com) |
5b8c1387 |
3 | October 24, 2000 |
24e8e380 |
4 | |
495c5fdc |
5 | |
6 | Introduction |
7 | ------------ |
5b8c1387 |
8 | This is a port of Perl version 5, revision 7, to VOS. Perl |
495c5fdc |
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 | |
5b8c1387 |
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 |
495c5fdc |
25 | attempt by perl.pm to call the following unimplemented POSIX |
26 | functions will result in an error message and an immediate and |
24e8e380 |
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 |
5b8c1387 |
31 | perl process the output file. These functions are all available |
32 | in the generally-available version of POSIX. |
24e8e380 |
33 | |
495c5fdc |
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 | |
5b8c1387 |
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. |
495c5fdc |
48 | |
5b8c1387 |
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) |
24e8e380 |
57 | ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from |
5b8c1387 |
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. |
495c5fdc |
61 | |
5b8c1387 |
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. |
24e8e380 |
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. |
5b8c1387 |
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 | |
24e8e380 |
83 | Note that code compiled for the pa7100 processor type can |
5b8c1387 |
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. |
24e8e380 |
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 | |
5b8c1387 |
112 | !copy_dir lib >system>ported>perl>lib>5.7 |
24e8e380 |
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 | |
5b8c1387 |
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 |
24e8e380 |
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 | |
5b8c1387 |
127 | >system>ported>perl>lib>site>5.7 |
24e8e380 |
128 | |
129 | Put architecture-dependent files into one of the following |
130 | directories: |
131 | |
5b8c1387 |
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 |
24e8e380 |
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. |
495c5fdc |
139 | |
495c5fdc |
140 | |
141 | Unimplemented Features |
142 | ---------------------- |
5b8c1387 |
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". |
24e8e380 |
150 | |
495c5fdc |
151 | |
152 | Restrictions |
153 | ------------ |
24e8e380 |
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. |
495c5fdc |
161 | |
24e8e380 |
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. |
495c5fdc |
166 | |
24e8e380 |
167 | See the file pod/perlport.pod for more information about the VOS |
168 | port of Perl. |
495c5fdc |
169 | |
495c5fdc |
170 | |
171 | Support Status |
172 | -------------- |
173 | I'm offering this port "as is". You can ask me questions, but I |
5b8c1387 |
174 | can't guarantee I'll be able to answer them. There are some |
24e8e380 |
175 | excellent books available on the Perl language; consult a book |
176 | seller. |
495c5fdc |
177 | |
178 | (end) |