|
|
README.irix - Perl version 5 on Irix systems
This document describes various features of Irix that will affect how Perl version 5 (hereafter just Perl) is compiled and/or runs.
Use
sh Configure -Dcc='cc -n32'
to compile Perl 32-bit. Don't bother with -n32 unless you have 7.1 or later compilers (use cc -version to check).
(Building 'cc -n32' is the default.)
Use
sh Configure -Dcc='cc -64' -Duse64bitint
This requires require a 64-bit MIPS CPU (R8000, R10000, ...)
You can also use
sh Configure -Dcc='cc -64' -Duse64bitall
but that makes no difference compared with the -Duse64bitint because
of the cc -64
.
You can also do
sh Configure -Dcc='cc -n32' -Duse64bitint
to use long longs for the 64-bit integer type, in case you don't have a 64-bit CPU.
If you are using gcc, just
sh Configure -Dcc=gcc -Duse64bitint
should be enough, the Configure should automatically probe for the correct 64-bit settings.
Some Irix cc versions, e.g. 7.3.1.1m (try cc -version) have been known to have issues (coredumps) when compiling perl.c. If you've used -OPT:fast_io=ON and this happens, try removing it. If that fails, or you didn't use that, then try adjusting other optimization options (-LNO, -INLINE, -O3 to -O2, etcetera). The compiler bug has been reported to SGI. (Allen Smith <easmith@beatrice.rutgers.edu>)
If you get complaints about so_locations then search in the file hints/irix_6.sh for ``lddflags'' and do the suggested adjustments. (David Billinghurst <David.Billinghurst@riotinto.com.au>)
Do not try to use Perl's malloc, this will lead into very mysterious errors (especially with -Duse64bitall).
Run Configure with -Duseithreads which will configure Perl with the new Perl 5.8.0 ``interpreter threads'', see the threads manpage.
The old Perl 5.005 threads is obsolete, unmaintained, and its use is discouraged. If you really want it, run Configure with the -Dusethreads -Duse5005threads options as described in INSTALL.
For either thread model and for Irix 6.2, you have to have the following patches installed:
1404 Irix 6.2 Posix 1003.1b man pages 1645 Irix 6.2 & 6.3 POSIX header file updates 2000 Irix 6.2 Posix 1003.1b support modules 2254 Pthread library fixes 2401 6.2 all platform kernel rollup
IMPORTANT: Without patch 2401, a kernel bug in Irix 6.2 will cause your machine to panic and crash when running threaded perl. Irix 6.3 and later are okay.
Thanks to Hannu Napari <Hannu.Napari@hut.fi> for the IRIX pthreads patches information.
Jarkko Hietaniemi <jhi@iki.fi>
Please report any errors, updates, or suggestions to perlbug@perl.org.