<li><pclass="first">You can run translations with <ttclass="docutils literal"><spanclass="pre">--source</span></tt>, which only builds the C
source files (and prints at the end where). Then you can <ttclass="docutils literal">cd</tt> there
and execute <ttclass="docutils literal">make</tt>. This is another way to reduce memory usage.
Note that afterwards, you have to run manually <ttclass="docutils literal"><spanclass="pre">pypy-c</span>
<spanclass="pre">.../pypy/tool/build_cffi_imports.py</span></tt> if you want to be able to import
the cffi-based modules.</p>
</li>
<li><pclass="first">On Linux, because of <ttclass="docutils literal">asmgcroot</tt>, compiling the generated C files
is delicate. It requires using gcc with no particularly
fancy options. It does not work e.g. with clang, or if you pass uncommon
...
...
@@ -290,6 +297,12 @@
the <aclass="reference external"href="http://pypy.readthedocs.org/en/latest/config/translation.gcrootfinder.html">shadow stack</a> option instead (for a small performance price in
non-JITted code).</p>
</li>
<li><pclass="first">Like other JITs, PyPy doesn't work out of the box on some Linux
distributions that trade full POSIX compliance for extra security
features. E.g. with PAX, you have to run PyPy with <ttclass="docutils literal">paxctl <spanclass="pre">-cm</span></tt>.
This also applies to translation (unless you use CPython to run the
translation and you specify <ttclass="docutils literal"><spanclass="pre">--source</span></tt>).</p>