perlirix.html
来自「perl教程」· HTML 代码 · 共 170 行
HTML
170 行
<?xml version="1.0" ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!-- saved from url=(0017)http://localhost/ -->
<script language="JavaScript" src="../../displayToc.js"></script>
<script language="JavaScript" src="../../tocParas.js"></script>
<script language="JavaScript" src="../../tocTab.js"></script>
<link rel="stylesheet" type="text/css" href="../../scineplex.css">
<title>README.irix - Perl version 5 on Irix systems</title>
<link rel="stylesheet" href="../../Active.css" type="text/css" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:" />
</head>
<body>
<script>writelinks('__top__',2);</script>
<h1><a>README.irix - Perl version 5 on Irix systems</a></h1>
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<ul>
<li><a href="#name">NAME</a></li>
<li><a href="#description">DESCRIPTION</a></li>
<ul>
<li><a href="#building_32bit_perl_in_irix">Building 32-bit Perl in Irix</a></li>
<li><a href="#building_64bit_perl_in_irix">Building 64-bit Perl in Irix</a></li>
<li><a href="#about_compiler_versions_of_irix">About Compiler Versions of Irix</a></li>
<li><a href="#linker_problems_in_irix">Linker Problems in Irix</a></li>
<li><a href="#malloc_in_irix">Malloc in Irix</a></li>
<li><a href="#building_with_threads_in_irix">Building with threads in Irix</a></li>
<li><a href="#irix_5_3">Irix 5.3</a></li>
</ul>
<li><a href="#author">AUTHOR</a></li>
</ul>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>README.irix - Perl version 5 on Irix systems</p>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>This document describes various features of Irix that will affect how Perl
version 5 (hereafter just Perl) is compiled and/or runs.</p>
<p>
</p>
<h2><a name="building_32bit_perl_in_irix">Building 32-bit Perl in Irix</a></h2>
<p>Use</p>
<pre>
sh Configure -Dcc='cc -n32'</pre>
<p>to compile Perl 32-bit. Don't bother with -n32 unless you have 7.1
or later compilers (use cc -version to check).</p>
<p>(Building 'cc -n32' is the default.)</p>
<p>
</p>
<h2><a name="building_64bit_perl_in_irix">Building 64-bit Perl in Irix</a></h2>
<p>Use</p>
<pre>
sh Configure -Dcc='cc -64' -Duse64bitint</pre>
<p>This requires require a 64-bit MIPS CPU (R8000, R10000, ...)</p>
<p>You can also use</p>
<pre>
sh Configure -Dcc='cc -64' -Duse64bitall</pre>
<p>but that makes no difference compared with the -Duse64bitint because
of the <code>cc -64</code>.</p>
<p>You can also do</p>
<pre>
sh Configure -Dcc='cc -n32' -Duse64bitint</pre>
<p>to use long longs for the 64-bit integer type, in case you don't
have a 64-bit CPU.</p>
<p>If you are using gcc, just</p>
<pre>
sh Configure -Dcc=gcc -Duse64bitint</pre>
<p>should be enough, the Configure should automatically probe for the
correct 64-bit settings.</p>
<p>
</p>
<h2><a name="about_compiler_versions_of_irix">About Compiler Versions of Irix</a></h2>
<p>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 <<a href="mailto:easmith@beatrice.rutgers.edu">easmith@beatrice.rutgers.edu</a>>)</p>
<p>
</p>
<h2><a name="linker_problems_in_irix">Linker Problems in Irix</a></h2>
<p>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 <<a href="mailto:David.Billinghurst@riotinto.com.au">David.Billinghurst@riotinto.com.au</a>>)</p>
<p>
</p>
<h2><a name="malloc_in_irix">Malloc in Irix</a></h2>
<p>Do not try to use Perl's malloc, this will lead into very mysterious
errors (especially with -Duse64bitall).</p>
<p>
</p>
<h2><a name="building_with_threads_in_irix">Building with threads in Irix</a></h2>
<p>Run Configure with -Duseithreads which will configure Perl with
the new Perl 5.8.0 "interpreter threads", see <a href="../../lib/threads.html">the threads manpage</a>.</p>
<p>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.</p>
<p>For either thread model and for Irix 6.2, you have to have the
following patches installed:</p>
<pre>
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</pre>
<p><strong>IMPORTANT</strong>: 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.</p>
<pre>
Thanks to Hannu Napari <Hannu.Napari@hut.fi> for the IRIX
pthreads patches information.</pre>
<p>
</p>
<h2><a name="irix_5_3">Irix 5.3</a></h2>
<p>While running Configure and when building, you are likely to get
quite a few of these warnings:</p>
<pre>
ld:
The shared object /usr/lib/libm.so did not resolve any symbols.
You may want to remove it from your link line.</pre>
<p>Ignore them: in IRIX 5.3 there is no way to quieten ld about this.</p>
<p>During compilation you will see this warning from toke.c:</p>
<pre>
<span class="variable">uopt</span><span class="operator">:</span> <span class="variable">Warning</span><span class="operator">:</span> <span class="variable">Perl_yylex</span><span class="operator">:</span> <span class="variable">this</span> <span class="variable">procedure</span> <span class="keyword">not</span> <span class="variable">optimized</span> <span class="variable">because</span> <span class="variable">it</span>
<span class="variable">exceeds</span> <span class="variable">size</span> <span class="variable">threshold</span><span class="operator">;</span> <span class="variable">to</span> <span class="variable">optimize</span> <span class="variable">this</span> <span class="variable">procedure</span><span class="operator">,</span> <span class="keyword">use</span> <span class="operator">-</span><span class="variable">Olimit</span> <span class="variable">option</span>
<span class="variable">with</span> <span class="variable">value</span> <span class="operator">>=</span> <span class="number">4252.</span>
</pre>
<p>Ignore the warning.</p>
<p>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.</p>
<pre>
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.</pre>
<p>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.</p>
<p>
</p>
<hr />
<h1><a name="author">AUTHOR</a></h1>
<p>Jarkko Hietaniemi <<a href="mailto:jhi@iki.fi">jhi@iki.fi</a>></p>
<p>Please report any errors, updates, or suggestions to <em><a href="mailto:perlbug@perl.org">perlbug@perl.org</a></em>.</p>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?