PERLIRIX(1)

πŸ’– PERLIRIX πŸ’–

okay bestie, so this is the perlirix page β€” it's the whole lowdown on running Perl version 5 (from here on out just "Perl", we're not doing formalities) on Irix systems. It ships with the Perl Programmers Reference Guide, so you know it's official. 🌸


✨ DESCRIPTION ✨

This doc spills all the tea on the various features of Irix that are gonna mess with how Perl version 5 (hereafter just Perl, as established πŸ’…) gets compiled and/or runs.

🧚 Building 32-bit Perl in Irix

Use this:

sh Configure -Dcc='cc -n32'

to compile Perl 32-bit. But don't even bother with -n32 unless you've got 7.1 or later compilers (run cc -version to check, babes πŸ”).

(Also fun fact: building with 'cc -n32' is the default anyway. iykyk.)

πŸ¦‹ Building 64-bit Perl in Irix

Use this:

sh Configure -Dcc='cc -64' -Duse64bitint

This requires a 64-bit MIPS CPU (R8000, R10000, ...) β€” no CPU, no vibes, sorry.

You can also use:

sh Configure -Dcc='cc -64' -Duse64bitall

but honestly that makes no difference compared with the -Duse64bitint, because of the "cc -64". Same energy fr fr.

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. We improvise, we adapt, we slay ✨

If you're using gcc, just:

sh Configure -Dcc=gcc -Duse64bitint

should be enough β€” the Configure should automatically probe for the correct 64-bit settings. It's giving self-sufficient πŸ‘‘

πŸ’… 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). Not the cute kind of mysterious. The haunted kind. πŸ’€

πŸ‘‘ 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. It's just loud, let it be loud. πŸ™ˆ

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. Ignoring is self-care. πŸ’…

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>. 🫢


okay that's the whole page bestie β€” this is perl v5.42.3, dated 2026-08-03, and you're officially an Irix perl-building main character now πŸ‘‘βœ¨

πŸ“¦ where this page comes from