X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/24e8e38014028731fb2fddf4fe788525eb66a6b5..396d9be3a10e83ab21f5e5cf4b8a07c359ef141e:/README.vos?ds=sidebyside diff --git a/README.vos b/README.vos index 99abf0d..28cc9d1 100644 --- a/README.vos +++ b/README.vos @@ -1,128 +1,99 @@ -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. +perlvos - 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 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