X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.vos;h=016d6c94257365fcb56774d5c3fa8cdceceed8c3;hb=6c03d0f32decf210521faaa44c28820ed270af66;hp=ab9d99d07bad10319c6a6df893dcdccf54b00c7b;hpb=495c5fdc8fec0d7d0f72a84d44bb3e7cfc448d43;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.vos b/README.vos index ab9d99d..016d6c9 100644 --- a/README.vos +++ b/README.vos @@ -1,87 +1,348 @@ -Perl 5 README file for the Stratus VOS operating system. -Paul Green (Paul_Green@stratus.com) -August 12, 1998 - -Introduction ------------- -This is a port of Perl version 5, revision 005-02, 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 +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 for a number of good books on Perl. -Most of the Perl features should work on VOS. However, any +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 full 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 full 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 full 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.0, 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 full 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.4.1 or later, you must build perl using +the generally-available version of VOS POSIX support. You must +use the VOS GNU C compiler and the VOS GNU Tools product. You +must build perl on VOS Release 14.4.1 (or later) on a Continuum +platform. + +This version of perl is properly called "full perl" because it +contains the full perl functionality. + +You must use the supplied Configure script and makefiles to build +perl. + +=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", "execlp", -"execl", "execvp", "fork", and "waitpid". +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 -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 and Runtime, or the VOS Standard C - Cross-Compiler. This is a standard Stratus product. - -2. The VOS OS TCP/IP product set. While the necessary header files - are included in this distribution, you still need the appropriate - object files in order to bind perl.pm. This is a standard - Stratus product. - -3. The VOS POSIX.1 environment. As of this writing, this is - available on the VOS FTP site. Login to ftp.stratus.com - anonymously 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. - -To build build 5, change to one of the VOS object directories -(e.g., perl5.005_02>vos>obj), and give the command "system>gnu_library>bin -after '(current_dir)' + !bash + gzip -d perl-5.8.0.tar.gz + tar -xvf perl-5.8.0.tar + cd perl-5.8.0 + Configure -d + gmake + +If you wish to run the test cases, type: + + gmake test + +=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 >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 the -error message looks like, compile and execute -"test_vos_dummies.c". +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 ------------- -This port of Perl version 5 to VOS uses Unix-style, -slash-separated pathnames, not VOS-style greater-than-separated -pathnames. If you wish to have it use VOS-style pathnames, try -setting the external variable s$c_options to 4 with the -following command line. Note that this way of configuring Perl -5 has not been tested; I don't know if Perl can handle the -presence of the greater-thans, and the absence of the slashes. +=head2 Restrictions of Perl on VOS - set_external_variable s$c_options -in perl.pm -type integer -to 4 +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. -The following command can be used to check the value: +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. - get_external_variable s$c_options -in perl.pm -type integer +See the file pod/perlport.pod for more information about the VOS +port of Perl. -See the documentation for VOS POSIX.1 for the full set of option -values. +=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. +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 -(end) +February 15, 2001 +=cut