home *** CD-ROM | disk | FTP | other *** search
- 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
-
- README.vos - Perl for Stratus VOS
-
- =head1 SYNOPSIS
-
- 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.
-
- 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
-
- 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.
-
- =head2 Multiple methods to build 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 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.
-
- =head2 Installing Perl 5 on 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
-
- 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.
-
- This command macro will install perl and all of its related
- files in the proper directories.
-
- =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
-
- 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
-
- =item 5
-
- 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
-
- =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,
- slash-separated pathnames over VOS-style greater-than-separated
- pathnames. VOS-style pathnames should work in most contexts, but
- if you have trouble, replace all greater-than characters by slash
- characters. Because the slash character is used as a pathname
- delimiter, Perl cannot process VOS pathnames containing a slash
- character in a directory or file name; these must be renamed.
-
- This port of Perl also uses Unix-epoch date values internally.
- As long as you are dealing with ASCII character string
- representations of dates, this should not be an issue. The
- 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
-
- VOS does not support automatically mapping overflowed
- floating-point values to +infinity, nor automatically mapping
- underflowed floating-point values to -infinity, 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.
-
- =head1 TEST STATUS
-
- When Perl is built using the native build process on VOS Release
- 14.5.0 and GNU C++/GNU Tools 2.0.1, all attempted tests either
- pass or result in TODO (ignored) failures.
-
- =head1 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. 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).
-
- =head1 AUTHOR
-
- Paul Green (Paul.Green@stratus.com)
-
- =head1 LAST UPDATE
-
- May 13, 2002
-
- =cut
-