Commit | Line | Data |
469e7be4 |
1 | If you read this file _as_is_, just ignore the funny characters you |
2 | see. It is written in the POD format (see pod/perlpod.pod) which is |
3 | specifically designed to be readable as is. |
4 | |
5 | =head1 NAME |
6 | |
7 | README.irix - Perl version 5 on Irix systems |
8 | |
9 | =head1 DESCRIPTION |
10 | |
11 | This document describes various features of Irix that will affect how Perl |
12 | version 5 (hereafter just Perl) is compiled and/or runs. |
13 | |
3df9be30 |
14 | =head2 Building 32-bit Perl in Irix |
469e7be4 |
15 | |
16 | Use |
17 | |
18 | sh Configure -Dcc='cc -n32' |
19 | |
20 | to compile Perl 32-bit. Don't bother with -n32 unless you have 7.1 |
21 | or later compilers (use cc -version to check). |
22 | |
23 | (Building 'cc -n32' is the default.) |
24 | |
3df9be30 |
25 | =head2 Building 64-bit Perl in Irix |
469e7be4 |
26 | |
27 | Use |
d6fd60d6 |
28 | |
538426ad |
29 | sh Configure -Dcc='cc -64' -Duse64bitint |
469e7be4 |
30 | |
538426ad |
31 | This requires require a 64-bit MIPS CPU (R8000, R10000, ...) |
32 | |
33 | You can also use |
34 | |
35 | sh Configure -Dcc='cc -64' -Duse64bitall |
36 | |
37 | but that makes no difference compared with the -Duse64bitint because |
38 | of the C<cc -64>. |
39 | |
40 | You can also do |
41 | |
42 | sh Configure -Dcc='cc -n32' -Duse64bitint |
43 | |
44 | to use long longs for the 64-bit integer type, in case you don't |
45 | have a 64-bit CPU. |
46 | |
47 | If you are using gcc, just |
48 | |
49 | sh Configure -Dcc=gcc -Duse64bitint |
50 | |
51 | should be enough, the Configure should automatically probe for the |
52 | correct 64-bit settings. |
469e7be4 |
53 | |
3df9be30 |
54 | =head2 About Compiler Versions of Irix |
469e7be4 |
55 | |
3df9be30 |
56 | Some Irix cc versions, e.g. 7.3.1.1m (try cc -version) have been known |
469e7be4 |
57 | to have issues (coredumps) when compiling perl.c. If you've used |
58 | -OPT:fast_io=ON and this happens, try removing it. If that fails, or |
59 | you didn't use that, then try adjusting other optimization options |
60 | (-LNO, -INLINE, -O3 to -O2, etcetera). The compiler bug has been |
61 | reported to SGI. (Allen Smith <easmith@beatrice.rutgers.edu>) |
62 | |
3df9be30 |
63 | =head2 Linker Problems in Irix |
469e7be4 |
64 | |
65 | If you get complaints about so_locations then search in the file |
66 | hints/irix_6.sh for "lddflags" and do the suggested adjustments. |
67 | (David Billinghurst <David.Billinghurst@riotinto.com.au>) |
68 | |
3df9be30 |
69 | =head2 Malloc in Irix |
469e7be4 |
70 | |
71 | Do not try to use Perl's malloc, this will lead into very mysterious |
72 | errors (especially with -Duse64bitall). |
73 | |
538426ad |
74 | =head2 Building with threads in Irix |
469e7be4 |
75 | |
741e2d40 |
76 | Run Configure with -Duseithreads which will configure Perl with |
77 | the new Perl 5.8.0 "interpreter threads", see L<threads>. |
78 | |
79 | The old Perl 5.005 threads is obsolete, unmaintained, and its use is |
80 | discouraged. If you really want it, run Configure with the |
81 | -Dusethreads -Duse5005threads options as described in INSTALL. |
82 | |
83 | For either thread model and for Irix 6.2, you have to have the |
84 | following patches installed: |
469e7be4 |
85 | |
86 | 1404 Irix 6.2 Posix 1003.1b man pages |
3df9be30 |
87 | 1645 Irix 6.2 & 6.3 POSIX header file updates |
469e7be4 |
88 | 2000 Irix 6.2 Posix 1003.1b support modules |
89 | 2254 Pthread library fixes |
90 | 2401 6.2 all platform kernel rollup |
91 | |
538426ad |
92 | B<IMPORTANT>: Without patch 2401, a kernel bug in Irix 6.2 will cause |
3df9be30 |
93 | your machine to panic and crash when running threaded perl. Irix 6.3 |
469e7be4 |
94 | and later are okay. |
95 | |
741e2d40 |
96 | Thanks to Hannu Napari <Hannu.Napari@hut.fi> for the IRIX |
97 | pthreads patches information. |
98 | |
469e7be4 |
99 | =head1 AUTHOR |
100 | |
101 | Jarkko Hietaniemi <jhi@iki.fi> |
102 | |
103 | Please report any errors, updates, or suggestions to F<perlbug@perl.org>. |
104 | |