This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
${^LAST_FH}
[perl5.git] / README.vos
CommitLineData
9a997319
JH
1If you read this file _as_is_, just ignore the funny characters you
2see. It is written in the POD format (see pod/perlpod.pod) which is
3specially designed to be readable as is.
4
5=head1 NAME
6
de2902a6 7perlvos - Perl for Stratus VOS
9a997319
JH
8
9=head1 SYNOPSIS
24e8e380 10
050dfae0
PG
11This file contains notes for building perl on the Stratus VOS
12operating system. Perl is a scripting or macro language that is
13popular on many systems. See L<perlbook> for a number of good
14books on Perl.
4f3de37c 15
10fb90aa
PG
16These are instructions for building Perl from source. This version of
17Perl is not supported on VOS Release 14.2 or earlier releases. If you
18have a Continuum platform running VOS Release 14.3 through 14.7,
19download Perl from the Stratus Anonymous FTP site at
20ftp://ftp.stratus.com/pub/vos/posix/ga/continuum/continuum.html. If
21you have a V Series platform running VOS Release 15.0 or later, or if
22you have a V Series platform running OpenVOS Release 17.0 or later,
23download Perl from
24ftp://ftp.stratus.com/pub/vos/posix/ga/v-series/v-series.html. The
25perl distribution files on the Stratus anonymous FTP site are stored
26in a format called a "bundled file". Instructions for unbundling the
27Perl distribution file are at
3fd80bd6 28ftp://ftp.stratus.com/pub/vos/utility/utility.html.
495c5fdc 29
050dfae0
PG
30If you are running VOS Release 14.4.1 or later, you can obtain a
31pre-compiled, supported copy of perl by purchasing Release 2.0.1
3722f0dc
PG
32(or later) of the VOS GNU C/C++ and GNU Tools product from
33Stratus Technologies.
050dfae0 34
3fd80bd6 35=head1 BUILDING PERL FOR VOS
050dfae0 36
3722f0dc
PG
37To build perl from its source code on the Stratus Continuum
38platform, you must be have VOS Release 14.5.0 or later, the STCP
39product, and the GNU C/C++ and GNU Tools, Release 2.0.1 or
40later. On the V Series platform you must have VOS Release
4115.0.0 or later, and any version of the GNU C/C++ and GNU Tools
42product.
24e8e380 43
c71882ca
PG
44To build full perl using the supplied Configure script and
45makefiles, change to the "vos" subdirectory and type the command
46"compile_full_perl" or "start_process compile_full_perl". This
8f8d40ab 47will configure, build, and test perl.
9a997319 48
3fd80bd6 49=head1 INSTALLING PERL IN VOS
9a997319 50
050dfae0 51=over 4
24e8e380 52
050dfae0 53=item 1
24e8e380 54
050dfae0 55If you have built perl using the Configure script, ensure that
3722f0dc
PG
56you have modify and default write permission to C<<
57>system>ported >> and all subdirectories. Then type
9a997319 58
050dfae0 59 gmake install
24e8e380 60
050dfae0 61=item 2
24e8e380 62
10fb90aa
PG
63While there are currently no architecture-specific extensions or
64modules distributed with perl, the following directories can be
65used to hold such files (replace the string VERSION by the
66appropriate version number):
24e8e380 67
10fb90aa
PG
68 >system>ported>lib>perl5>VERSION>7100
69 >system>ported>lib>perl5>VERSION>8000
70 >system>ported>lib>perl5>VERSION>i786
24e8e380 71
3fd80bd6 72=item 3
9a997319
JH
73
74Site-specific perl extensions and modules can be installed in one of
75two places. Put architecture-independent files into:
24e8e380 76
10fb90aa 77 >system>ported>lib>perl5>site_perl>VERSION
24e8e380 78
050dfae0
PG
79Put site-specific architecture-dependent files into one of the
80following directories:
24e8e380 81
10fb90aa
PG
82 >system>ported>lib>perl5>site_perl>VERSION>7100
83 >system>ported>lib>perl5>site_perl>VERSION>8000
84 >system>ported>lib>perl5>site_perl>VERSION>i786
24e8e380 85
3fd80bd6 86=item 4
9a997319
JH
87
88You can examine the @INC variable from within a perl program
89to see the order in which Perl searches these directories.
495c5fdc 90
9a997319
JH
91=back
92
93=head1 USING PERL IN VOS
94
a83b6f46 95=head2 Restrictions of Perl on VOS
495c5fdc 96
24e8e380
GS
97This port of Perl version 5 to VOS prefers Unix-style,
98slash-separated pathnames over VOS-style greater-than-separated
99pathnames. VOS-style pathnames should work in most contexts, but
100if you have trouble, replace all greater-than characters by slash
101characters. Because the slash character is used as a pathname
102delimiter, Perl cannot process VOS pathnames containing a slash
103character in a directory or file name; these must be renamed.
495c5fdc 104
24e8e380
GS
105This port of Perl also uses Unix-epoch date values internally.
106As long as you are dealing with ASCII character string
107representations of dates, this should not be an issue. The
108supported epoch is January 1, 1980 to January 17, 2038.
495c5fdc 109
24e8e380
GS
110See the file pod/perlport.pod for more information about the VOS
111port of Perl.
495c5fdc 112
11d33b1d
PG
113=head2 Handling of underflow and overflow
114
46ff39aa
PG
115Prior to VOS Release 14.7.0, VOS does not support automatically
116mapping overflowed floating-point values to +infinity, nor
117automatically mapping underflowed floating-point values to zero,
118unlike many other platforms. The Perl pack function has been
119modified to perform such mapping in software on VOS. Performing
120other floating-point computations that underflow or overflow
121will probably result in SIGFPE. Don't push your luck.
122
10fb90aa
PG
123As of VOS Release 14.7.0 or later, the VOS POSIX runtime sets up
124the PA-RISC and IA-32 hardware floating-point status register so
3722f0dc
PG
125that the overflow and underflow exceptions do not trap, but
126instead automatically convert the result to infinity or zero, as
46ff39aa
PG
127appropriate. As of this writing, there are still floating-point
128operations that can trap, for example, subtracting two infinite
3722f0dc
PG
129values. This is recorded as suggestion posix-1022, which has
130been fixed in VOS Release 15.2 and higher.
11d33b1d
PG
131
132=head1 TEST STATUS
133
8f8d40ab
PG
134When Perl 5.9.0 is built using the native build process on VOS
135Release 14.7.0 and GNU C++/GNU Tools 2.0.2a, all but nine
46ff39aa
PG
136attempted tests either pass or result in TODO (ignored)
137failures. The tests that fail are:
138
8f8d40ab
PG
139t/io/dup, test 2
140t/io/tell, test 28
141t/op/pack, test 0
142ext/B/t/bytecode, test 1
143ext/Devel/Peek/t/Peek, test 1
144ext/Encode/t/enc_module, test 1
145ext/IO/t/io_dup, test 2
146lib/ExtUtils/t/MM_Unix, test 94
147lib/Net/ing/t/450_service, test 8
11d33b1d 148
9a997319 149=head1 SUPPORT STATUS
495c5fdc 150
495c5fdc 151I'm offering this port "as is". You can ask me questions, but I
5b8c1387 152can't guarantee I'll be able to answer them. There are some
24e8e380
GS
153excellent books available on the Perl language; consult a book
154seller.
495c5fdc 155
8f8d40ab 156If you want a supported version of perl for VOS, purchase the
3722f0dc 157VOS GNU C/C++ and GNU Tools Release 2.0.1 (or later) product from
8f8d40ab
PG
158Stratus Technologies, along with a support contract (or from
159anyone else who will sell you support).
050dfae0 160
9a997319
JH
161=head1 AUTHOR
162
4f3de37c 163Paul Green (Paul.Green@stratus.com)
9a997319
JH
164
165=head1 LAST UPDATE
166
10fb90aa 167October 6, 2010
9a997319
JH
168
169=cut