Perl5 inst packages for IRIX

ATTENTION: MANY POINTERS STALE AND INVALID FOR NON-IRIX 5.3 IMAGES. These were archived from http://reality.sgi.com/scotth/info/perl5.html


Introduction

Perl5 is the latest version of Perl from the fertile mind of Larry Wall. It is actually an entirely new object-oriented language that happens to be >99% compatible with the Perl v4 language spec. This page links to several pre-compiled inst-able versions of Perl5 for IRIX-5.2, 5.3, 6.2 and later. This inst package is designed to install Perl5 so that it and Perl4 (for IRIX releases < 6.4) can live together on the same machine. IRIX 6.4 and later ship with Perl5. The 6.2 (and later) versions of the Freeware inst packages also don't collide with the system Perl images.

The following versions of Perl5 are instable from here (I assume that your browser handles tables...):

ProductAppropriate IRIX ReleaseInstallation Location(s)Size (Bytes)
Perl 5.00502 (libperl.so) (**)IRIX-6.2, 6.3, 6.4, 6.5+/usr/freeware16158720
Perl 5.00404 (libperl.so)IRIX-6.2, 6.3, 6.4+/usr/freeware8847360
Perl 5.00404 (libperl.so)IRIX-5.3, 6.1/usr/freeware8888320
Perl 5.003 (libperl.so) (*)IRIX-6.2, 6.3, 6.4/usr/freeware5642240
Perl 5.003IRIX-6.2, 6.3, 6.4/usr/freeware6133760
Perl 5.003 (*)IRIX-5.3, 6.1/usr/freeware6174720
Perl 5.002IRIX-6.2/usr/freeware7198720
Perl 5.002IRIX-5.3, 6.1/usr/freeware7229440
Perl 5.001mIRIX-5.3, 6.1/usr/freeware5048320
Perl 5.001mIRIX-5.2, 6.0*/usr/local5109760

(*): This version includes the latest Perl Security Advisory patch against 5.003. 5.004 does not contain the bug.

(**): This is the current Freeware release, also available at freeware.sgi.com. It is larger than the other distributions because 5.005 is bigger, and this distribution contains versions compiled for all 3 ABIs: -32, -n32, and -64. In addition, it contains versions compiled with pthreads. It also comes with HTML-ified version of the docs and man pages. Extensive testing has only been done on 6.2 and 6.5+.

All come with complete source. The non-Freeware Perl5.001m needs gzip (either installing it here, or the one that comes with Netscape) to unpack the source. All versions should work on IRIX-6.2, though I have only tested a few. All of the 6.2 versions should work on IRIX-6.3, 6.4 and 6.5 (though I haven't tested very many combinations).


Disclaimer

This software is provided without support and without any obligation on the part of Silicon Graphics, Inc. to assist in its use, correction, modification or enhancement. There is no guarantee that this software will be included in future software releases, and it probably will not be included.

THIS SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.


Description and Notes

(This is the closest thing to a FAQ about perl on IRIX that I've written).
  1. Perl5 installs mostly into /usr/freeware/bin/ and /usr/freeware/lib/perl5/. The man pages install into /usr/freeware/catman/. The Freeware Perl5.00{2,3,4} is configured with /usr/freeware/lib/perl5/site_perl as the site library, and the Freeware Perl5.001m is configured with /usr/local/lib/perl5/ as the default site library (in practice, this causes problems with leftovers from previously installed versions of /usr/local Perl5).

  2. Every version listed will install and run on the IRIX release that it was compiled for, and on all subsequent releases. eg: the perl compiled for 5.2 will install and run correctly on 6.5. This is a feature of IRIX, not the perl packages specifically.

    The reverse is not true. A package will neither install nor run on an earlier release than it was compiled for.

  3. This inst package is designed to install Perl5 so that it and the perl installed with IRIX can coexist on the same machine. The precise behaviour is dependent on both the package and the release of IRIX. later packages make fewer assumptions about what the system installed...
    IRIX 5.2 & 5.3
    /usr/bin/perl is perl v4.036, and is installed from the eoe2.sw.gifts_perl or sgiperl bits. They were not default install. The /usr/bin/perl4 link may be created even if there is no perl4 installed. The link /usr/bin/perl5 is unconditionally created. Thus you can specifically call perl4 or perl5 independent of how your path is setup. Which one you get as bare perl depends on where /usr/freeware/bin is in your PATH.
    IRIX 6.2 & 6.3:
    /usr/bin/perl is perl v4.036, and is default install, from the eoe.sw.gifts_perl subsystem. The /usr/bin/perl4 link may be created even if there is no perl4 installed. The link /usr/bin/perl5 is unconditionally created. Thus you can specifically call perl4 or perl5 independent of how your path is setup. Which one you get as bare perl depends on where /usr/freeware/bin is in your PATH.
    IRIX 6.4 & 6.5+:
    /usr/bin/perl and /usr/bin/perl5 are default installed: v5.003 in 6.4, and v5.004_04 in 6.5+. The /usr/bin/perl4 link is unconditionally created in some of the packages. This leaves the perl4 link pointing at a perl5... The same packages may also unconditionally stomp on the /usr/bin/perl5 link to point to the Freeware perl; more recent ones do not. Which perl you get depends on your PATH.
  4. For the Freeware Perl5.001m only, having /usr/local/lib/perl5 in the default @INC include path, and since previous versions of Perl5 were probably installed there, you need to manually remove old Perl versions, and old *.ph files (since they are generated instead of installed, inst cannot remove them). For more information, check out the release notes (which are in HTML) after the system is installed: file:/usr/freeware/relnotes/fw_LWperl5.html (note: that link will fail until you have installed the software).

  5. The latest version of the Freeware Perl5.003 for IRIX-6.2 w/shared lib (and all Perl5.004 versions) has been compiled so that Perl is a shared library, and the actual Perl binary is very small. The installation takes up less disk space (by about .5MB). Also, the /usr/bin/perl4 symlink is only created if /usr/sbin/perl is Perl4. The /usr/bin/perl5 symlink is created only if /usr/sbin/perl is not Perl5. This correctly handles installing on all IRIX-6.x versions.

  6. All versions of Perl5 on this page unless otherwise noted are compiled -32 (this is the 5.3-compatible ABI). Most 3rd-party pre-compiled libraries (to link extensions) come in this form. See the next bullet for more details.
  7. Perl5 now comes as a standard part of IRIX, starting with 6.4. The Freeware Perl5 w/shared libperl versions are designed to not conflict with IRIX Perl5 also. There is good reason that you may want to have both the IRIX Perl5 and the Freeware Perl5 installed at the same time. Starting with version 6.1, IRIX supports 3 ELF ABI interfaces: -o32 is the same 32bit ABI as in IRIX-5.x, and is deprecated. The 2 new ABIs use the full 64bit register set of the R4000 and later processors: -n32 uses 32bit pointers to save memory (and simplify porting), and -64 uses 64bit pointers when you need the address space. In IRIX-6.4 and later, the system default changes to -n32, including Perl. You cannot link -o32 and -n32 objects together, either statically or dynamically. Currently, many 3rd-party vendors only provide -o32 libraries that you might want to link into Perl. You will not be able to create those modules with the IRIX Perl. You will need the Freeware Perl to create those extensions. As long as you put the correct interpreter path in your scripts (ie: /usr/freeware/bin/perl vs /usr/sbin/perl when using compiled extensions), things should work transparently.

  8. While there is new management support to keep Perl and other freeware more up-to-date in IRIX, new releases of Perl will usually show up in Freeware before they show up in an IRIX release. The Freeware perl will normally support ABIs that the IRIX perl does not, even when they are the same Perl version. Due to the asynchronous nature of Freeware vs IRIX releases, they will never share files.

  9. Perl is designed such that multiple ABIs ("architecture"s) and multiple versions can share the same directory tree. Creating symlinks to put all the site_perl directories in the same place can simplify managing locally installed modules and extensions.

  10. Each perl installation is complete. You can install new modules from CPAN or elsewhere just as if you compiled and installed perl yourself. You wil simplify your life if you use the full path to each perl binary when configuring a module. eg:
    /usr/freeware/bin/perl5.00502-n32 Makefile.PL installman3dir=/usr/local/man/man3
           
    Note that compiled modules will require the SGI C compiler. There is no reason that I know of that GCC cannot be used, but you will have to figure out and manually deal with the different compiler options.


Installation Instructions

If you are running IRIX-5.3 or IRIX-6.2 and Netscape, you could already have the tardist method installed. Tardist is standard in IRIX-6.3 and later. Follow these instructions for installing tardist, and then you can just install perl5 automatically via tardist:

All of these images should run fine on upcoming IRIX-6.x releases, though I have not had a chance to verify them on all versions.

The Freeware perl5.001 has a few additional bug fixes for better operation under IRIX. The old one is still available in case you want it for any reason.

If you don't have tardist, you can install things the "old fashioned way":

Create a directory on any host which you can access without having to enter a password -- if you can rcp or cp (mounted or automounted directories) from the directory, you can inst from it. Let's call the directory on host serv in directory /var/tmp/dist. Then unpack the tar file placed in /usr/tmp for this example):

    # cd /var/tmp/dist
    # tar -xf /usr/tmp/fw_perl5.tardist
Then on any (SGI) host that you want to install perl5 (see your software installation guide for more assistance):
    % su -
    # inst -f serv:/var/tmp/dist
    <inst commands>
    # exit
    % rehash

Support

Questions or problems with Perl5 should be addressed to the perl support sources, such as the newsgroup comp.lang.perl.misc, the Perl FAQ or the CPAN (Comprehensive Perl Archive Network) site. You can address questions about the installation package itself to me: Scott Henry <scotth@sgi.com>. I don't have any plans to supply pre-configured extensions and modules... Author:

Scott Henry <scotth@sgi.com>
Last modified: Wed Apr 25 10:50:58 2001