Provided by: perl-doc_5.36.0-7_all bug

NAME

       perlirix - Perl version 5 on Irix systems

DESCRIPTION

       This document describes various features of Irix that will affect how Perl version 5
       (hereafter just Perl) is compiled and/or runs.

   Building 32-bit Perl in Irix
       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.)

   Building 64-bit Perl in Irix
       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.

   About Compiler Versions of Irix
       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, et cetera).  The compiler bug has been reported to
       SGI.  (Allen Smith <easmith@beatrice.rutgers.edu>)

   Linker Problems in Irix
       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>)

   Malloc in Irix
       Do not try to use Perl's malloc, this will lead into very mysterious errors (especially
       with -Duse64bitall).

   Building with threads in Irix
       Run Configure with -Duseithreads which will configure Perl with the Perl 5.8.0
       "interpreter threads", see threads.

       For Irix 6.2 with perl threads, 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.

   Irix 5.3
       While running Configure and when building, you are likely to get quite a few of these
       warnings:

         ld:
         The shared object /usr/lib/libm.so did not resolve any symbols.
               You may want to remove it from your link line.

       Ignore them: in IRIX 5.3 there is no way to quieten ld about this.

       During compilation you will see this warning from toke.c:

         uopt: Warning: Perl_yylex: this procedure not optimized because it
               exceeds size threshold; to optimize this procedure, use -Olimit
               option with value >= 4252.

       Ignore the warning.

       In IRIX 5.3 and with Perl 5.8.1 (Perl 5.8.0 didn't compile in IRIX 5.3) the following
       failures are known.

        Failed Test                  Stat Wstat Total Fail  Failed|Failing List
        -----------------------------------------------------------------------
        ../ext/List/Util/t/shuffle.t    0   139    ??   ??       %  ??
        ../lib/Math/Trig.t            255 65280    29   12  41.38%  24-29
        ../lib/sort.t                   0   138   119   72  60.50%  48-119
        56 tests and 474 subtests skipped.
        Failed 3/811 test scripts, 99.63% okay. 78/75813 subtests failed,
           99.90% okay.

       They are suspected to be compiler errors (at least the shuffle.t failure is known from
       some IRIX 6 setups) and math library errors (the Trig.t failure), but since IRIX 5 is long
       since end-of-lifed, further fixes for the IRIX are unlikely.  If you can get gcc for 5.3,
       you could try that, too, since gcc in IRIX 6 is a known workaround for at least the
       shuffle.t and sort.t failures.

AUTHOR

       Jarkko Hietaniemi <jhi@iki.fi>

       Please report any errors, updates, or suggestions to
       <https://github.com/Perl/perl5/issues>.