Platform SpecificPerl version 5 on Irix systemsDaftar Isi NAMEperlirix - Perl version 5 on Irix systems DESCRIPTIONThis document describes various features of Irix that will affect how Perlversion 5 (hereafter just Perl) is compiled and/or runs. Building 32-bit Perl in IrixUse - sh Configure -Dcc='cc -n32'
to compile Perl 32-bit. Don't bother with -n32 unless you have 7.1or later compilers (use cc -version to check). (Building 'cc -n32' is the default.) Building 64-bit Perl in IrixUse - 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 becauseof 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'thave a 64-bit CPU. If you are using gcc, just - sh Configure -Dcc=gcc -Duse64bitint
should be enough, the Configure should automatically probe for thecorrect 64-bit settings. About Compiler Versions of IrixSome Irix cc versions, e.g. 7.3.1.1m (try cc -version) have been knownto have issues (coredumps) when compiling perl.c. If you've used-OPT:fast_io=ON and this happens, try removing it. If that fails, oryou didn't use that, then try adjusting other optimization options(-LNO, -INLINE, -O3 to -O2, etcetera). The compiler bug has beenreported to SGI. (Allen Smith <[email protected]>) Linker Problems in IrixIf you get complaints about so_locations then search in the filehints/irix_6.sh for "lddflags" and do the suggested adjustments.(David Billinghurst <[email protected]>) Malloc in IrixDo not try to use Perl's malloc, this will lead into very mysteriouserrors (especially with -Duse64bitall). Building with threads in IrixRun Configure with -Duseithreads which will configure Perl withthe Perl 5.8.0 "interpreter threads", see threads. For Irix 6.2 with perl threads, you have to have the followingpatches 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 causeyour machine to panic and crash when running threaded perl. Irix 6.3and later are okay. - Thanks to Hannu Napari <[email protected]> for the IRIX
- pthreads patches information.
Irix 5.3While running Configure and when building, you are likely to getquite 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 List of Failed
- --------------------------------------------------------------------------
- ../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.tfailure 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 forat least the shuffle.t and sort.t failures. AUTHORJarkko Hietaniemi <[email protected]> Please report any errors, updates, or suggestions to [email protected]. |