1PERLVOS(1)             Perl Programmers Reference Guide             PERLVOS(1)
2
3
4

NAME

6       README.vos - Perl for Stratus VOS
7

SYNOPSIS

9       This file contains notes for building perl on the Stratus VOS operating
10       system.  Perl is a scripting or macro language that is popular on many
11       systems.  See perlbook for a number of good books on Perl.
12
13       These are instructions for building Perl from source.  Most people can
14       simply download a pre-compiled distribution from the VOS anonymous FTP
15       site.  If you are running VOS Release 14.2.0 or earlier, download Perl
16       from ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html  If you are
17       running VOS Release 14.3.0 or later, download Perl from ftp://ftp.stra‐
18       tus.com/pub/vos/posix/ga/ga.html  Instructions for unbundling the Perl
19       distribution file are at ftp://ftp.stratus.com/pub/vos/utility/util‐
20       ity.html
21
22       If you are running VOS Release 14.4.1 or later, you can obtain a
23       pre-compiled, supported copy of perl by purchasing Release 2.0.1 (or
24       later) of the VOS GNU C++ and GNU Tools product from Stratus Technolo‐
25       gies.
26
27       Multiple methods to build perl for VOS
28
29       If you elect to build perl from its source code, you have several dif‐
30       ferent ways that you can build perl.  The method that you use depends
31       on the version of VOS that you are using and on the architecture of
32       your Stratus hardware platform.
33
34       1    If you have a Stratus XA2000 (Motorola 68k-based) platform, you
35            must build perl using the alpha version of VOS POSIX support and
36            using the VOS Standard C Cross-compiler.  You must build perl on
37            VOS Release 14.1.0 (or later) on an XA/R or Continuum platform.
38
39            This version of perl is properly called "miniperl" because it does
40            not contain the complete perl functionality.
41
42            You must build perl with the compile_perl.cm command macro found
43            in the vos subdirectory.
44
45       2    If you have a Stratus XA/R (Intel i860-based) platform, you must
46            build perl using the alpha version of VOS POSIX support and using
47            the VOS Standard C compiler or cross-compiler.  You must build
48            perl on VOS Release 14.1.0 (or later) on an XA/R or Continuum
49            platform.
50
51            This version of perl is properly called "miniperl" because it does
52            not contain the complete perl functionality.
53
54            You must build perl with the compile_perl.cm command macro found
55            in the vos subdirectory.
56
57       3    If you have a Stratus Continuum (PA-RISC-based) platform that is
58            running a version of VOS earlier than VOS 14.3.0, you must build
59            perl using the alpha version of VOS POSIX support and using the
60            VOS Standard C compiler or cross-compiler.  You must build perl on
61            VOS Release 14.1.0 (or later) on an XA/R or Continuum platform.
62
63            This version of perl is properly called "miniperl" because it does
64            not contain the complete perl functionality.
65
66            You must build perl with the compile_perl.cm command macro found
67            in the vos subdirectory.
68
69       4    If you have a Stratus Continuum (PA-RISC-based) platform that is
70            running VOS Release 14.3.0 through VOS Release 14.4.1, you must
71            build perl using the generally-available version of VOS POSIX sup‐
72            port, and using either the VOS Standard C compiler or the VOS GNU
73            C compiler.  You must build perl on VOS Release 14.3.0 (or later)
74            on a Continuum platform.
75
76            This version of perl is properly called "miniperl" because it does
77            not contain the complete perl functionality.
78
79            You must build perl with the compile_perl.cm command macro found
80            in the vos subdirectory.
81
82       5    If you have a Stratus Continuum (PA-RISC-based) platform that is
83            running VOS Release 14.5.0 or later, you can either use the previ‐
84            ous method to build "miniperl" or you can build "full perl", which
85            contains the complete functionality of perl.  I strongly recommend
86            that you build full perl.  To build full perl, you must use the
87            generally-available version of VOS POSIX support.  You must use
88            the VOS GNU C compiler and the VOS GNU C/C++ and GNU Tools Release
89            2.0.1 (or later) product.  You must build full perl on VOS Release
90            14.5.0 (or later) on a Continuum platform.
91
92            You must build full perl with the compile_full_perl.cm command
93            macro found in the vos subdirectory.
94
95       Stratus POSIX Support
96
97       Note that there are two different implementations of POSIX.1 support on
98       VOS.  There is an alpha version of POSIX that is available from the
99       Stratus anonymous ftp site ( ftp://ftp.stra‐
100       tus.com/pub/vos/posix/alpha/alpha.html ).  There is a generally-avail‐
101       able version of POSIX that comes with VOS Release 14.3.0 or higher.
102       This port of POSIX will compile and bind with either version of POSIX.
103
104       Most of the Perl features should work on VOS regardless of which ver‐
105       sion of POSIX that you are using.  However, the alpha version of POSIX
106       is missing a number of key functions, and therefore any attempt by
107       perl.pm to call the following unimplemented POSIX functions will result
108       in an error message and an immediate and fatal call to the VOS debug‐
109       ger.  They are "dup", "fork", and "waitpid".  The lack of these func‐
110       tions prevents you from starting VOS commands and grabbing their output
111       in perl.  The workaround is to run the commands outside of perl, then
112       have perl process the output file.  These functions are all available
113       in the generally-available version of POSIX.
114

INSTALLING PERL IN VOS

116       Compiling Perl 5 on VOS
117
118       Before you can build Perl 5 on VOS, you need to have or acquire the
119       following additional items.
120
121       1    The VOS Standard C Compiler (or the VOS Standard C Cross-Compiler)
122            and the VOS C Runtime.  If you are using the generally-available
123            version of POSIX support, you may instead use the VOS GNU C/C++
124            Compiler.  These are standard Stratus products.
125
126       2    Either the VOS OS TCP/IP or STCP product set.  If you are building
127            with the alpha version of POSIX you need the OS TCP/IP product
128            set.  If you are building with the generally-available version of
129            POSIX you need the STCP product set.  These are standard Stratus
130            products.
131
132       3    Either the alpha or generally-available version of the VOS POSIX.1
133            environment.
134
135            The alpha version of POSIX.1 support is available on the Stratus
136            FTP site.  Login anonymously to ftp.stratus.com and get the file
137            /pub/vos/posix/alpha/posix.save.evf.gz in binary file-transfer
138            mode.  Or use the Uniform Resource Locator (URL) ftp://ftp.stra‐
139            tus.com/pub/vos/posix/alpha/posix.save.evf.gz from your web
140            browser.  Instructions for unbundling this file are at
141            ftp://ftp.stratus.com/pub/vos/utility/utility.html This is NOT a
142            standard Stratus product.
143
144            In VOS Release 14.3.0, the generally-available version of POSIX.1
145            support is bundled with the VOS Standard C compiler (or Standard C
146            Cross-Compiler).  In VOS Release 14.4.0 or higher, it is also bun‐
147            dled with the VOS C Runtime.  These are standard Stratus products.
148
149       4    You must compile this version of Perl 5 on VOS Release 14.1.0 or
150            higher because some of the perl source files contain more than
151            32,767 source lines.  Due to VOS release-compatibility rules, this
152            port of perl may not execute on VOS Release 12 or earlier.
153
154       5    If you are using the generally-available version of VOS POSIX sup‐
155            port, then you should also acquire the VOS GNU C/C++ Compiler and
156            GNU Tools product.  When perl is built with this version of POSIX
157            support, it assumes that it can find "bash", "sed" and other
158            POSIX-compatible commands in the directory /sys‐
159            tem/gnu_library/bin.
160
161       To build perl using the supplied VOS command macros, change to the
162       "vos" subdirectory and type the command "compile_perl -processor X",
163       where X is the processor type (mc68020, i80860, pa7100, pa8000) that
164       you wish to use.  Note that the generally-available version of POSIX.1
165       support is not available for the mc68020 or i80860 processors.
166
167       Use the "-version alpha" control argument to build perl with the alpha
168       version of POSIX support, and use the "-version ga" control argument to
169       build it with the generally-available version of POSIX.  The default is
170       "ga".
171
172       Use the "-compiler cc" control argument to build perl with the VOS
173       Standard C compiler.  Use the "-compiler gcc" control argument to build
174       it with the GNU GCC compiler.  The default is "cc".
175
176       You must have purchased the VOS Standard C Cross Compiler in order to
177       compile perl for a processor type that is different from the processor
178       type of the module.
179
180       Note that code compiled for the pa7100 processor type can execute on
181       the PA7100, PA8000, PA8500 and PA8600 processors, and that code com‐
182       piled for the pa8000 processor type can execute on the PA8000, PA8500
183       and PA8600 processors.
184
185       To build full perl using the supplied Configure script and makefiles,
186       change to the "vos" subdirectory and type the command "com‐
187       pile_full_perl" or "start_process compile_full_perl".  This will con‐
188       figure, build, and test perl.
189
190       Installing Perl 5 on VOS
191
192       1   If you have built perl using the Configure script, ensure that you
193           have modify permission to ">system>ported" and type
194
195                gmake install
196
197       2   If you have built perl using any of the other methods, type
198
199                install_perl -processor PROCESSOR -name NAME
200
201           where PROCESSOR is mc68020, i80860, pa7100, or pa8000, as appropri‐
202           ate, and NAME is perl or perl5, according to which name you wish to
203           use.
204
205           This command macro will install perl and all of its related files
206           in the proper directories.
207
208       3   While there are currently no architecture-specific extensions or
209           modules distributed with perl, the following directories can be
210           used to hold such files:
211
212                >system>ported>lib>perl5>5.8.0>68k
213                >system>ported>lib>perl5>5.8.0>860
214                >system>ported>lib>perl5>5.8.0>7100
215                >system>ported>lib>perl5>5.8.0>8000
216
217       4   Site-specific perl extensions and modules can be installed in one
218           of two places.  Put architecture-independent files into:
219
220                >system>ported>lib>perl5>site_perl>5.8.0
221
222           Put site-specific architecture-dependent files into one of the fol‐
223           lowing directories:
224
225                >system>ported>lib>perl5>site_perl>5.8.0>68k
226                >system>ported>lib>perl5>site_perl>5.8.0>860
227                >system>ported>lib>perl5>site_perl>5.8.0>7100
228                >system>ported>lib>perl5>site_perl>5.8.0>8000
229
230       5   You can examine the @INC variable from within a perl program to see
231           the order in which Perl searches these directories.
232

USING PERL IN VOS

234       Unimplemented Features of Perl on VOS
235
236       If perl is built with the alpha version of VOS POSIX.1 support and if
237       it attempts to call an unimplemented VOS POSIX.1 function, it will
238       print a fatal error message and enter the VOS debugger.  This error is
239       not recoverable.  See vos_dummies.c for a list of the unimplemented
240       POSIX.1 functions.  To see what functions are unimplemented and what
241       the error message looks like, compile and execute "test_vos_dummies.c".
242
243       Restrictions of Perl on VOS
244
245       This port of Perl version 5 to VOS prefers Unix-style, slash-separated
246       pathnames over VOS-style greater-than-separated pathnames.  VOS-style
247       pathnames should work in most contexts, but if you have trouble,
248       replace all greater-than characters by slash characters.  Because the
249       slash character is used as a pathname delimiter, Perl cannot process
250       VOS pathnames containing a slash character in a directory or file name;
251       these must be renamed.
252
253       This port of Perl also uses Unix-epoch date values internally.  As long
254       as you are dealing with ASCII character string representations of
255       dates, this should not be an issue.  The supported epoch is January 1,
256       1980 to January 17, 2038.
257
258       See the file pod/perlport.pod for more information about the VOS port
259       of Perl.
260
261       Handling of underflow and overflow
262
263       Prior to VOS Release 14.7.0, VOS does not support automatically mapping
264       overflowed floating-point values to +infinity, nor automatically map‐
265       ping underflowed floating-point values to zero, unlike many other plat‐
266       forms.  The Perl pack function has been modified to perform such map‐
267       ping in software on VOS.  Performing other floating-point computations
268       that underflow or overflow will probably result in SIGFPE.  Don't push
269       your luck.
270
271       As of VOS Release 14.7.0, the VOS POSIX runtime sets up the PA-RISC
272       hardware floating-point status register so that the overflow and under‐
273       flow exceptions do not trap, but instead automatically convert the
274       result to infinity or zero, as appropriate.  As of this writing, there
275       are still floating-point operations that can trap, for example, sub‐
276       tracting two infinite values.  This is recorded as suggestion
277       posix-1022, which is not yet fixed.
278

TEST STATUS

280       When Perl 5.8.3 is built using the native build process on VOS Release
281       14.7.0 and GNU C++/GNU Tools 2.0.2a, all but three attempted tests
282       either pass or result in TODO (ignored) failures.  The tests that fail
283       are:
284
285       t/io/tell.t, test 28 t/op/pack.t, test 39 lib/Net/ing/t/450_service.t,
286       test 8
287

SUPPORT STATUS

289       I'm offering this port "as is".  You can ask me questions, but I can't
290       guarantee I'll be able to answer them.  There are some excellent books
291       available on the Perl language; consult a book seller.
292
293       If you want a supported version of perl for VOS, purchase the VOS GNU
294       C++ and GNU Tools Release 2.0.1 (or later) product from Stratus Tech‐
295       nologies, along with a support contract (or from anyone else who will
296       sell you support).
297

AUTHOR

299       Paul Green (Paul.Green@stratus.com)
300

LAST UPDATE

302       January 15, 2004
303
304
305
306perl v5.8.8                       2006-01-07                        PERLVOS(1)
Impressum