X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=README.vos;h=b44f3cf9f0f465b9efaadcf285cbc53977f982ff;hb=66670188cea1de9e5a28e46eaf556eccea649d2c;hp=ab9d99d07bad10319c6a6df893dcdccf54b00c7b;hpb=495c5fdc8fec0d7d0f72a84d44bb3e7cfc448d43;p=p5sagit%2Fp5-mst-13.2.git diff --git a/README.vos b/README.vos index ab9d99d..b44f3cf 100644 --- a/README.vos +++ b/README.vos @@ -1,87 +1,218 @@ -Perl 5 README file for the Stratus VOS operating system. -Paul Green (Paul_Green@stratus.com) -August 12, 1998 +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 -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 -books on Perl. +This is a port of Perl version 5, revision 7, 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 books on Perl. -Most of the Perl features should work on VOS. However, any +=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 the +VOS Standard C compiler and C runtime in 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 pretty much 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>ported>command_library. + +=item 2 + +Copy the appropriate version of the perl program module to +this directory. For example, with your current directory +set to the top-level directory of Perl 5, to install the +executable program module for the Motorola 68K +architecture, enter: + + !copy_file vos>obj>perl.pm >system>ported>command_library>* + +(If you wish to use both Perl version 4 and Perl version 5, +you must give them different names; for example, perl.pm +and perl5.pm). + +=item 3 + +Create the directory >system>ported>perl>lib. + +=item 4 + +Copy all of the files and subdirectories from the lib +subdirectory into this new directory. For example, with +the current directory set to the top-level directory of the +perl distribution, enter: + + !copy_dir lib >system>ported>perl>lib>5.7 + +=item 5 + +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>perl>lib>5.7.68k + >system>ported>perl>lib>5.7.860 + >system>ported>perl>lib>5.7.7100 + >system>ported>perl>lib>5.7.8000 + +=item 6 + +Site-specific perl extensions and modules can be installed in one of +two places. Put architecture-independent files into: + + >system>ported>perl>lib>site>5.7 + +Put architecture-dependent files into one of the following +directories: + + >system>ported>perl>lib>site>5.7.68k + >system>ported>perl>lib>site>5.7.860 + >system>ported>perl>lib>site>5.7.7100 + >system>ported>perl>lib>site>5.7.8000 + +=item 7 + +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 + +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 - 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. + +=head1 AUTHOR + +Paul Green (Paul_Green@stratus.com) + +=head1 LAST UPDATE -(end) +October 24, 2000 +=cut