This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
1; is not a valid no-op for /bin/sh, but true is.
[perl5.git] / README.vos
index 99abf0d..2283fc1 100644 (file)
-Perl 5 README file for the Stratus VOS operating system.
-Paul Green (Paul_Green@stratus.com)
-February 3, 2000
+If you read this file _as_is_, just ignore the funny characters you
+see. It is written in the POD format (see pod/perlpod.pod) which is
+specially designed to be readable as is.
 
+=head1 NAME
 
-Introduction
-------------
-This is a port of Perl version 5, revision 005-63, to VOS.  Perl
-is a scripting or macro language that is popular on many
-systems.  See your local computer bookstore for a number of good
-books on Perl.
-
-Most of the Perl features should work on VOS.  However, any
-attempt by perl.pm to call the following unimplemented POSIX
-functions will result in an error message and an immediate and
-fatal call to the VOS debugger.  They are "dup", "fork", and
-"waitpid".  The lack of these functions pretty much prevents you
-from starting VOS commands and grabbing their output in perl.
-The workaround is to run the commands outside of perl, then have
-perl process the output file.
+README.vos - Perl for Stratus VOS
 
+=head1 SYNOPSIS
 
-Compiling Perl 5 on VOS
------------------------
-Before you can build Perl 5 on VOS, you need to have or acquire the
-following additional items.
+This file contains notes for building perl on the Stratus VOS
+operating system.  Perl is a scripting or macro language that is
+popular on many systems.  See L<perlbook> for a number of good
+books on Perl.
 
-1.   The VOS Standard C Compiler and Runtime, or the VOS Standard C
-     Cross-Compiler.  This is a standard Stratus product.
+These are instructions for building Perl from source.  This version of
+Perl is not supported on VOS Release 14.2 or earlier releases.  If you
+have a Continuum platform running VOS Release 14.3 through 14.7,
+download Perl from the Stratus Anonymous FTP site at
+ftp://ftp.stratus.com/pub/vos/posix/ga/continuum/continuum.html.  If
+you have a V Series platform running VOS Release 15.0 or later, or if
+you have a V Series platform running OpenVOS Release 17.0 or later,
+download Perl from
+ftp://ftp.stratus.com/pub/vos/posix/ga/v-series/v-series.html.  The
+perl distribution files on the Stratus anonymous FTP site are stored
+in a format called a "bundled file".  Instructions for unbundling the
+Perl distribution file are at
+ftp://ftp.stratus.com/pub/vos/utility/utility.html.
 
-2.   The VOS OS TCP/IP product set.  While the necessary header
-     files are included with VOS POSIX.1, you still need the
-     appropriate object files in order to bind perl.pm.  This is
-     a standard Stratus product.
+If you are running VOS Release 14.4.1 or later, you can obtain a
+pre-compiled, supported copy of perl by purchasing Release 2.0.1
+(or later) of the VOS GNU C/C++ and GNU Tools product from
+Stratus Technologies.
 
-3.   The VOS POSIX.1 environment.  As of this writing, this is
-     available on the VOS FTP site.  Login anonymously to
-     ftp.stratus.com and get the file
-     /pub/vos/alpha/posix.save.evf.gz in binary file-transfer
-     mode.  Or use the Uniform Resource Locator (URL)
-     ftp://ftp.stratus.com/pub/vos/alpha/posix.save.evf.gz from
-     your web browser.  This is not a standard Stratus product.
+=head1 BUILDING PERL FOR VOS
 
-     Instructions for unbundling this file are at
-     ftp://ftp.stratus.com/pub/vos/utility/utility.html.
+To build perl from its source code on the Stratus Continuum
+platform, you must be have VOS Release 14.5.0 or later, the STCP
+product, and the GNU C/C++ and GNU Tools, Release 2.0.1 or
+later.  On the V Series platform you must have VOS Release
+15.0.0 or later, and any version of the GNU C/C++ and GNU Tools
+product.
 
-4.   You must compile this version of Perl 5 on VOS Release
-     14.1.0 or higher because some of the perl source files
-     contain more than 32,767 source lines.  Due to VOS
-     release-compatibility rules, this port of perl may not
-     execute on VOS Release 12 or earlier.
+To build full perl using the supplied Configure script and
+makefiles, change to the "vos" subdirectory and type the command
+"compile_full_perl" or "start_process compile_full_perl".  This
+will configure, build, and test perl.
 
-To build perl 5, change to the "vos" subdirectory and type the
-command "compile_perl -processor X", where X is the processor
-type (mc68020, i80860, pa7100, pa8000) that you wish to use.
-Note that code compiled for the pa7100 processor type can
-execute on the PA7100, PA8000, and PA8500 processors, and that
-code compiled for the pa8000 processor type can execute on the
-PA8000 and PA8500 processors.
+=head1 INSTALLING PERL IN VOS
 
+=over 4
 
-Installing Perl 5 on VOS
-------------------------
-1.   Create the directory >system>ported>command_library.
+=item 1
 
-2.   Copy the appropriate version of the perl program module to
-     this directory.  For example, with your current directory
-     set to the top-level directory of Perl 5, to install the
-     executable program module for the Motorola 68K
-     architecture, enter:
+If you have built perl using the Configure script, ensure that
+you have modify and default write permission to C<<
+>system>ported >> and all subdirectories.  Then type
 
-          !copy_file vos>obj>perl.pm >system>ported>command_library>*
+     gmake install
 
-     (If you wish to use both Perl version 4 and Perl version 5,
-     you must give them different names; for example, perl.pm
-     and perl5.pm).
+=item 2
 
-3.   Create the directory >system>ported>perl>lib.
+While there are currently no architecture-specific extensions or
+modules distributed with perl, the following directories can be
+used to hold such files (replace the string VERSION by the
+appropriate version number):
 
-4.   Copy all of the files and subdirectories from the lib
-     subdirectory into this new directory.  For example, with
-     the current directory set to the top-level directory of the
-     perl distribution, enter:
+     >system>ported>lib>perl5>VERSION>7100
+     >system>ported>lib>perl5>VERSION>8000
+     >system>ported>lib>perl5>VERSION>i786
 
-          !copy_dir lib >system>ported>perl>lib>5.005
+=item 3
 
-5.   While there are currently no architecture-specific
-     extensions or modules distributed with perl, the following
-     directories can be used to hold such files:
+Site-specific perl extensions and modules can be installed in one of
+two places.  Put architecture-independent files into:
 
-          >system>ported>perl>lib>5.005.68k
-          >system>ported>perl>lib>5.005.860
-          >system>ported>perl>lib>5.005.7100
-          >system>ported>perl>lib>5.005.8000
+     >system>ported>lib>perl5>site_perl>VERSION
 
-6.   Site-specific perl extensions and modules can be installed
-     in one of two places.  Put architecture-independent files
-     into:
+Put site-specific architecture-dependent files into one of the
+following directories:
 
-          >system>ported>perl>lib>site>5.005
+     >system>ported>lib>perl5>site_perl>VERSION>7100
+     >system>ported>lib>perl5>site_perl>VERSION>8000
+     >system>ported>lib>perl5>site_perl>VERSION>i786
 
-     Put architecture-dependent files into one of the following
-     directories:
+=item 4
 
-          >system>ported>perl>lib>site>5.005.68k
-          >system>ported>perl>lib>site>5.005.860
-          >system>ported>perl>lib>site>5.005.7100
-          >system>ported>perl>lib>site>5.005.8000
+You can examine the @INC variable from within a perl program
+to see the order in which Perl searches these directories.
 
-7.   You can examine the @INC variable from within a perl program
-     to see the order in which Perl searches these directories.
+=back
 
+=head1 USING PERL IN VOS
 
-Unimplemented Features
-----------------------
-If Perl 5 attempts to call an unimplemented VOS POSIX.1 function,
-it will print a fatal error message and enter the VOS debugger.
-This error is not recoverable.  See vos_dummies.c for a list of
-the unimplemented POSIX.1 functions.  To see what functions are
-unimplemented and what the error message looks like, compile and
-execute "test_vos_dummies.c".
-
+=head2 Restrictions of Perl on VOS
 
-Restrictions
-------------
 This port of Perl version 5 to VOS prefers Unix-style,
 slash-separated pathnames over VOS-style greater-than-separated
 pathnames.  VOS-style pathnames should work in most contexts, but
@@ -139,13 +110,60 @@ supported epoch is January 1, 1980 to January 17, 2038.
 See the file pod/perlport.pod for more information about the VOS
 port of Perl.
 
+=head2 Handling of underflow and overflow
+
+Prior to VOS Release 14.7.0, VOS does not support automatically
+mapping overflowed floating-point values to +infinity, nor
+automatically mapping underflowed floating-point values to zero,
+unlike many other platforms.  The Perl pack function has been
+modified to perform such mapping in software on VOS.  Performing
+other floating-point computations that underflow or overflow
+will probably result in SIGFPE.  Don't push your luck.
+
+As of VOS Release 14.7.0 or later, the VOS POSIX runtime sets up
+the PA-RISC and IA-32 hardware floating-point status register so
+that the overflow and underflow exceptions do not trap, but
+instead automatically convert the result to infinity or zero, as
+appropriate.  As of this writing, there are still floating-point
+operations that can trap, for example, subtracting two infinite
+values.  This is recorded as suggestion posix-1022, which has
+been fixed in VOS Release 15.2 and higher.
+
+=head1 TEST STATUS
+
+When Perl 5.9.0 is built using the native build process on VOS
+Release 14.7.0 and GNU C++/GNU Tools 2.0.2a, all but nine
+attempted tests either pass or result in TODO (ignored)
+failures.  The tests that fail are:
+
+t/io/dup, test 2
+t/io/tell, test 28
+t/op/pack, test 0
+ext/B/t/bytecode, test 1
+ext/Devel/Peek/t/Peek, test 1
+ext/Encode/t/enc_module, test 1
+ext/IO/t/io_dup, test 2
+lib/ExtUtils/t/MM_Unix, test 94
+lib/Net/ing/t/450_service, test 8
+
+=head1 SUPPORT STATUS
 
-Support Status
---------------
 I'm offering this port "as is".  You can ask me questions, but I
-can't guarantee I'll be able to answer them; I don't know much
-about Perl itself; I'm still learning that.  There are some
+can't guarantee I'll be able to answer them.  There are some
 excellent books available on the Perl language; consult a book
 seller.
 
-(end)
+If you want a supported version of perl for VOS, purchase the
+VOS GNU C/C++ and GNU Tools Release 2.0.1 (or later) product from
+Stratus Technologies, along with a support contract (or from
+anyone else who will sell you support).
+
+=head1 AUTHOR
+
+Paul Green (Paul.Green@stratus.com)
+
+=head1 LAST UPDATE
+
+October 6, 2010
+
+=cut