ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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.stratus.com/pub/vos/posix/ga/ga.html  Instruc-
       tions 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 Tech-
       nologies.

       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 architec-
       ture 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 ver-
            sion 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 ear-
            lier 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 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.

       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 (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 subdirec-
            tory.

       Stratus POSIX Support

       Note that there are two different implementations of POSIX.1 support on VOS.  There is an alpha ver-
       sion 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-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 work-
       around is to run the commands outside of perl, then have perl process the output file.  These func-
       tions 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 ver-
            sion 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 bundled 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 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.

       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" subdirec-
       tory and type the command "compile_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 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.

       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 architec-
           ture-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

       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 unimple-
       mented 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 Jan-
       uary 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 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, the VOS POSIX runtime sets up the PA-RISC 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 sugges-
       tion 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
       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
       (or later) product from Stratus Technologies, 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                                      2006-01-07                                       PERLVOS(1)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.