X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/c71882ca62bae8258b04c568faa83361dbc72d39..4ee329b3000cfabea3246d7ff8a5cb2511455807:/README.vos diff --git a/README.vos b/README.vos index 624e77e..2283fc1 100644 --- a/README.vos +++ b/README.vos @@ -13,273 +13,77 @@ 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. -These are instructions for building Perl from source. Most people can -simply download a pre-compiled distribution from the VOS anonymous FTP -site. If you are running VOS Release 14.2.0 or earlier, download Perl -from ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html If you are -running VOS Release 14.3.0 or later, download Perl from -ftp://ftp.stratus.com/pub/vos/posix/ga/ga.html Instructions for -unbundling the Perl distribution file are at -ftp://ftp.stratus.com/pub/vos/utility/utility.html +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. 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 -of the VOS GNU C++ and GNU Tools product from Stratus -Technologies. +(or later) of the VOS GNU C/C++ and GNU Tools product from +Stratus Technologies. -=head2 Multiple methods to build perl for VOS +=head1 BUILDING PERL FOR VOS -If you elect to build perl from its source code, you have several -different ways that you can build perl. The method that you use -depends on the version of VOS that you are using and on the -architecture of you Stratus hardware platform. - -=over 5 - -=item 1 - -If you have a Stratus XA2000 (Motorola 68k-based) platform, you -must build perl using the alpha version of VOS POSIX support and -using the VOS Standard C Cross-compiler. You must build perl on -VOS Release 14.1.0 (or later) on an XA/R or Continuum platform. - -This version of perl is properly called "miniperl" because it -does not contain the complete perl functionality. - -You must build perl with the compile_perl.cm command macro found -in the vos subdirectory. - -=item 2 - -If you have a Stratus XA/R (Intel i860-based) platform, you must -build perl using the alpha version of VOS POSIX support and using -the VOS Standard C compiler or cross-compiler. You must build -perl on VOS Release 14.1.0 (or later) on an XA/R or Continuum -platform. - -This version of perl is properly called "miniperl" because it -does not contain the complete perl functionality. - -You must build perl with the compile_perl.cm command macro found -in the vos subdirectory. - -=item 3 - -If you have a Stratus Continuum (PARISC-based) platform that is -running a version of VOS earlier than VOS 14.3.0, you must build -perl using the alpha version of VOS POSIX support and using the -VOS Standard C compiler or cross-compiler. You must build perl -on VOS Release 14.1.0 (or later) on an XA/R or Continuum -platform. - -This version of perl is properly called "miniperl" because it -does not contain the complete perl functionality. - -You must build perl with the compile_perl.cm command macro found -in the vos subdirectory. - -=item 4 - -If you have a Stratus Continuum (PARISC-based) platform that is -running VOS Release 14.3.0 through VOS Release 14.4.1, you must -build perl using the generally-available version of VOS POSIX -support, and using either the VOS Standard C compiler or the VOS -GNU C compiler. You must build perl on VOS Release 14.3.0 (or -later) on a Continuum platform. - -This version of perl is properly called "miniperl" because it -does not contain the complete perl functionality. - -You must build perl with the compile_perl.cm command macro found -in the vos subdirectory. - -=item 5 - -If you have a Stratus Continuum (PA-RISC-based) platform that is -running VOS Release 14.5.0 or later, you can either use the -previous method to build "miniperl" or you can build "full -perl", which contains the complete functionality of perl. I -strongly recommend that you build full perl. To build full -perl, you must use the generally-available version of VOS POSIX -support. You must use the VOS GNU C compiler and the VOS GNU -C/C++ and GNU Tools Release 2.0.1 product. You must build full -perl on VOS Release 14.5.0 (or later) on a Continuum platform. - -You must build full perl with the compile_full_perl.cm command -macro found in the vos subdirectory. - -=back - -=head2 Stratus POSIX Support - -Note that there are two different implementations of POSIX.1 -support on VOS. There is an alpha version of POSIX that is -available from the Stratus anonymous ftp site -( ftp://ftp.stratus.com/pub/vos/posix/alpha/alpha.html ). There -is a generally-available version of POSIX that comes with VOS -Release 14.3.0 or higher. This port of POSIX will compile and -bind with either version of POSIX. - -Most of the Perl features should work on VOS regardless of which -version of POSIX that you are using. However, the alpha version -of POSIX is missing a number of key functions, and therefore 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 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. These functions are all available in -the generally-available version of POSIX. - -=head1 INSTALLING PERL IN VOS - -=head2 Compiling Perl 5 on VOS - -Before you can build Perl 5 on VOS, you need to have or acquire the -following additional items. - -=over 5 - -=item 1 - -The VOS Standard C Compiler (or the VOS Standard C -Cross-Compiler) and the VOS C Runtime. If you are using -the generally-available version of POSIX support, you may -instead use the VOS GNU C/C++ Compiler. These are -standard Stratus products. - -=item 2 - -Either the VOS OS TCP/IP or STCP product set. If you are -building with the alpha version of POSIX you need the OS -TCP/IP product set. If you are building with the -generally-available version of POSIX you need the STCP -product set. These are standard Stratus products. - -=item 3 - -Either the alpha or generally-available version of the VOS -POSIX.1 environment. - -The alpha version of POSIX.1 support is available on the -Stratus FTP site. Login anonymously to ftp.stratus.com and -get the file /pub/vos/posix/alpha/posix.save.evf.gz in -binary file-transfer mode. Or use the Uniform Resource -Locator (URL) -ftp://ftp.stratus.com/pub/vos/posix/alpha/posix.save.evf.gz from -your web browser. Instructions for unbundling this file -are at ftp://ftp.stratus.com/pub/vos/utility/utility.html -This is not a standard Stratus product. - -In VOS Release 14.3.0, the generally-available version of -POSIX.1 support is bundled with the VOS Standard C compiler -(or Standard C Cross-Compiler). In VOS Release 14.4.0 or -higher, it is also bundled with the VOS C Runtime. These -are standard Stratus products. - -=item 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. - -=item 5 - -If you are using the generally-available version of VOS POSIX -support, then you should also acquire the VOS GNU C/C++ Compiler -and GNU Tools product. When perl is built with this version of -POSIX support, it assumes that it can find "bash", "sed" and -other POSIX-compatible commands in the directory -/system/gnu_library/bin. - -=back - -To build perl using the supplied VOS command macros, 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 the -generally-available version of POSIX.1 support is not available -for the mc68020 or i80860 processors. - -Use the "-version alpha" control argument to build perl with -the alpha version of POSIX support, and use the "-version -ga" control argument to build it with the -generally-available version of POSIX. The default is "ga". - -Use the "-compiler cc" control argument to build perl with -the VOS Standard C compiler. Use the "-compiler gcc" -control argument to build it with the GNU GCC compiler. The -default is "cc". - -You must have purchased the VOS Standard C Cross Compiler in -order to compile perl for a processor type that is different -from the processor type of the module. - -Note that code compiled for the pa7100 processor type can -execute on the PA7100, PA8000, PA8500 and PA8600 processors, and -that code compiled for the pa8000 processor type can execute on -the PA8000, PA8500 and PA8600 processors. +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. 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. All of the test cases -that are executed should pass. +will configure, build, and test perl. -=head2 Installing Perl 5 on VOS +=head1 INSTALLING PERL IN VOS =over 4 =item 1 If you have built perl using the Configure script, ensure that -you have modify permission to C<< >system>ported >> and type +you have modify and default write permission to C<< +>system>ported >> and all subdirectories. Then type gmake install =item 2 -If you have built perl using any of the other methods, type - - install_perl -processor PROCESSOR -name NAME - -where PROCESSOR is mc68020, i80860, pa7100, or pa8000, as -appropriate, and NAME is perl or perl5, according to which name -you wish to use. +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): -This command macro will install perl and all of its related -files in the proper directories. + >system>ported>lib>perl5>VERSION>7100 + >system>ported>lib>perl5>VERSION>8000 + >system>ported>lib>perl5>VERSION>i786 =item 3 -While there are currently no architecture-specific -extensions or modules distributed with perl, the following -directories can be used to hold such files: - - >system>ported>lib>perl5>5.8.0>68k - >system>ported>lib>perl5>5.8.0>860 - >system>ported>lib>perl5>5.8.0>7100 - >system>ported>lib>perl5>5.8.0>8000 - -=item 4 - Site-specific perl extensions and modules can be installed in one of two places. Put architecture-independent files into: - >system>ported>lib>perl5>site_perl>5.8.0 + >system>ported>lib>perl5>site_perl>VERSION Put site-specific architecture-dependent files into one of the following directories: - >system>ported>lib>perl5>site_perl>5.8.0>68k - >system>ported>lib>perl5>site_perl>5.8.0>860 - >system>ported>lib>perl5>site_perl>5.8.0>7100 - >system>ported>lib>perl5>site_perl>5.8.0>8000 + >system>ported>lib>perl5>site_perl>VERSION>7100 + >system>ported>lib>perl5>site_perl>VERSION>8000 + >system>ported>lib>perl5>site_perl>VERSION>i786 -=item 5 +=item 4 You can examine the @INC variable from within a perl program to see the order in which Perl searches these directories. @@ -288,16 +92,6 @@ to see the order in which Perl searches these directories. =head1 USING PERL IN VOS -=head2 Unimplemented Features of Perl on VOS - -If perl is built with the alpha version of VOS POSIX.1 support -and if it 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 This port of Perl version 5 to VOS prefers Unix-style, @@ -316,6 +110,42 @@ 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 I'm offering this port "as is". You can ask me questions, but I @@ -323,10 +153,10 @@ can't guarantee I'll be able to answer them. There are some excellent books available on the Perl language; consult a book seller. -If you want a supported version of perl for VOS, purchase the VOS -GNU C++ and GNU Tools Release 2.0.1 product from Stratus -Technologies, along with a support contract (or from anyone else -who will sell you support). +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 @@ -334,6 +164,6 @@ Paul Green (Paul.Green@stratus.com) =head1 LAST UPDATE -May 5, 2002 +October 6, 2010 =cut