Quick ?s
Cheat Sheets
Man Pages
The Lynx
Software
PERLVOS(1)	       Perl Programmers Reference Guide 	    PERLVOS(1)



NAME
       README.vos - Perl for Stratus VOS

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 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.stra
       tus.com/pub/vos/posix/ga/ga.html  Instructions for unbundling the Perl
       distribution file are at ftp://ftp.stratus.com/pub/vos/utility/util
       ity.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 (or
       later) of the VOS GNU C++ and GNU Tools product from Stratus Technolo
       gies.

       Multiple methods to build perl for VOS

       If you elect to build perl from its source code, you have several dif
       ferent 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
       your Stratus hardware platform.

       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.

       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.

       3    If you have a Stratus Continuum (PA-RISC-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.

       4    If you have a Stratus Continuum (PA-RISC-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 sup
	    port, 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.

       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 previ
	    ous 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 (or later) 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.

       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.stra
       tus.com/pub/vos/posix/alpha/alpha.html ).  There is a generally-avail
       able 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 ver
       sion 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 debug
       ger.  They are "dup", "fork", and "waitpid".  The lack of these func
       tions 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.

INSTALLING PERL IN VOS
       Compiling Perl 5 on VOS

       Before you can build Perl 5 on VOS, you need to have or acquire the
       following additional items.

       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.

       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.

       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.stra
	    tus.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 bun
	    dled with the VOS C Runtime.  These are standard Stratus products.

       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.

       5    If you are using the generally-available version of VOS POSIX sup
	    port, 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 /sys
	    tem/gnu_library/bin.

       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 com
       piled 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 "com
       pile_full_perl" or "start_process compile_full_perl".  This will con
       figure, build, and test perl.

       Installing Perl 5 on VOS


       1   If you have built perl using the Configure script, ensure that you
	   have modify permission to ">system>ported" and type

		gmake install

       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 appropri
	   ate, 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.

       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

       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 fol
	   lowing 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

       5   You can examine the @INC variable from within a perl program to see
	   the order in which Perl searches these directories.

USING PERL IN VOS
       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".

       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.

       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 map
       ping underflowed floating-point values to zero, unlike many other plat
       forms.  The Perl pack function has been modified to perform such
       mapping in software on VOS.  Performing other floating-point computa
       tions that underflow or overflow will probably result in SIGFPE.  Dont
       push your luck.

       As of VOS Release 14.7.0, the VOS POSIX runtime sets up the PA-RISC
       hardware floating-point status register so that the overflow and under
       flow 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, sub
       tracting two infinite values.  This is recorded as suggestion
       posix-1022, which is not yet fixed.

TEST STATUS
       When Perl 5.8.3 is built using the native build process on VOS Release
       14.7.0 and GNU C++/GNU Tools 2.0.2a, all but three attempted tests
       either pass or result in TODO (ignored) failures.  The tests that fail
       are:

       t/io/tell.t, test 28 t/op/pack.t, test 39 lib/Net/ing/t/450_service.t,
       test 8

SUPPORT STATUS
       Im offering this port "as is".  You can ask me questions, but I cant
       guarantee Ill 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 (or later) product from Stratus Tech
       nologies, along with a support contract (or from anyone else who will
       sell you support).

AUTHOR
       Paul Green (Paul.Green@stratus.com)

LAST UPDATE
       January 15, 2004



perl v5.8.8			  2008-04-25			    PERLVOS(1)




Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:21 2009