Stratus VOS updates from Paul Green.
[p5sagit/p5-mst-13.2.git] / README.vos
CommitLineData
495c5fdc 1Perl 5 README file for the Stratus VOS operating system.
2Paul Green (Paul_Green@stratus.com)
5b8c1387 3October 24, 2000
24e8e380 4
495c5fdc 5
6Introduction
7------------
5b8c1387 8This is a port of Perl version 5, revision 7, to VOS. Perl
495c5fdc 9is a scripting or macro language that is popular on many
10systems. See your local computer bookstore for a number of good
11books on Perl.
12
5b8c1387 13Note that there are two different implementations of POSIX.1
14support on VOS. There is an alpha version of POSIX that is
15available from the Stratus anonymous ftp site
16(ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html). There
17is a generally-available version of POSIX that comes with the
18VOS Standard C compiler and C runtime in VOS Release 14.3.0 or
19higher. This port of POSIX will compile and bind with either
20version of POSIX.
21
22Most of the Perl features should work on VOS regardless of which
23version of POSIX that you are using. However, the alpha version
24of POSIX is missing a number of key functions, and therefore any
495c5fdc 25attempt by perl.pm to call the following unimplemented POSIX
26functions will result in an error message and an immediate and
24e8e380 27fatal call to the VOS debugger. They are "dup", "fork", and
28"waitpid". The lack of these functions pretty much prevents you
29from starting VOS commands and grabbing their output in perl.
30The workaround is to run the commands outside of perl, then have
5b8c1387 31perl process the output file. These functions are all available
32in the generally-available version of POSIX.
24e8e380 33
495c5fdc 34
35Compiling Perl 5 on VOS
36-----------------------
37Before you can build Perl 5 on VOS, you need to have or acquire the
38following additional items.
39
401. The VOS Standard C Compiler and Runtime, or the VOS Standard C
41 Cross-Compiler. This is a standard Stratus product.
42
5b8c1387 432. 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 493. 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
674. 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
73To build perl 5, change to the "vos" subdirectory and type the
74command "compile_perl -processor X", where X is the processor
75type (mc68020, i80860, pa7100, pa8000) that you wish to use.
5b8c1387 76Note that the generally-available version of POSIX.1 support is
77not available for the mc68020 or i80860 processors.
78
79You must have purchased the VOS Standard C Cross Compiler in
80order to compile perl for a processor type that is different
81from the processor type of the module.
82
24e8e380 83Note that code compiled for the pa7100 processor type can
5b8c1387 84execute on the PA7100, PA8000, PA8500 and PA8600 processors, and
85that code compiled for the pa8000 processor type can execute on
86the PA8000, PA8500 and PA8600 processors.
24e8e380 87
88
89Installing Perl 5 on VOS
90------------------------
911. Create the directory >system>ported>command_library.
92
932. 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
1053. Create the directory >system>ported>perl>lib.
106
1074. 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
1145. 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
1236. 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
1377. 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
141Unimplemented Features
142----------------------
5b8c1387 143If perl is built with the alpha version of VOS POSIX.1 support
144and if it attempts to call an unimplemented VOS POSIX.1
145function, it will print a fatal error message and enter the VOS
146debugger. This error is not recoverable. See vos_dummies.c for
147a list of the unimplemented POSIX.1 functions. To see what
148functions are unimplemented and what the error message looks
149like, compile and execute "test_vos_dummies.c".
24e8e380 150
495c5fdc 151
152Restrictions
153------------
24e8e380 154This port of Perl version 5 to VOS prefers Unix-style,
155slash-separated pathnames over VOS-style greater-than-separated
156pathnames. VOS-style pathnames should work in most contexts, but
157if you have trouble, replace all greater-than characters by slash
158characters. Because the slash character is used as a pathname
159delimiter, Perl cannot process VOS pathnames containing a slash
160character in a directory or file name; these must be renamed.
495c5fdc 161
24e8e380 162This port of Perl also uses Unix-epoch date values internally.
163As long as you are dealing with ASCII character string
164representations of dates, this should not be an issue. The
165supported epoch is January 1, 1980 to January 17, 2038.
495c5fdc 166
24e8e380 167See the file pod/perlport.pod for more information about the VOS
168port of Perl.
495c5fdc 169
495c5fdc 170
171Support Status
172--------------
173I'm offering this port "as is". You can ask me questions, but I
5b8c1387 174can't guarantee I'll be able to answer them. There are some
24e8e380 175excellent books available on the Perl language; consult a book
176seller.
495c5fdc 177
178(end)