# HG changeset patch # User Armin Rigo <arigo@tunes.org> # Date 1438461000 -7200 # Sat Aug 01 22:30:00 2015 +0200 # Branch extradoc # Node ID 988a7121a7d5d2cb16fcc45a3804c9a3ccdfe06f # Parent 3cd948df449bec18359def109b3ebbb7482423fe Issue #2103: comments about --source and the PAX issues. diff --git a/download.html b/download.html --- a/download.html +++ b/download.html @@ -282,6 +282,13 @@ PYPY_GC_MAX_DELTA=200MB pypy --jit loop_longevity=300 ../../rpython/bin/rpython -Ojit targetpypystandalone </pre> </li> +<li><p class="first">You can run translations with <tt class="docutils literal"><span class="pre">--source</span></tt>, which only builds the C +source files (and prints at the end where). Then you can <tt class="docutils literal">cd</tt> there +and execute <tt class="docutils literal">make</tt>. This is another way to reduce memory usage. +Note that afterwards, you have to run manually <tt class="docutils literal"><span class="pre">pypy-c</span> +<span class="pre">.../pypy/tool/build_cffi_imports.py</span></tt> if you want to be able to import +the cffi-based modules.</p> +</li> <li><p class="first">On Linux, because of <tt class="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 <a class="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><p class="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 <tt class="docutils literal">paxctl <span class="pre">-cm</span></tt>. +This also applies to translation (unless you use CPython to run the +translation and you specify <tt class="docutils literal"><span class="pre">--source</span></tt>).</p> +</li> </ul> </div> <div class="section" id="packaging"> diff --git a/source/download.txt b/source/download.txt --- a/source/download.txt +++ b/source/download.txt @@ -295,6 +295,13 @@ PYPY_GC_MAX_DELTA=200MB pypy --jit loop_longevity=300 ../../rpython/bin/rpython -Ojit targetpypystandalone +* You can run translations with ``--source``, which only builds the C + source files (and prints at the end where). Then you can ``cd`` there + and execute ``make``. This is another way to reduce memory usage. + Note that afterwards, you have to run manually ``pypy-c + .../pypy/tool/build_cffi_imports.py`` if you want to be able to import + the cffi-based modules. + * On Linux, because of ``asmgcroot``, 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 @@ -303,6 +310,12 @@ the `shadow stack`_ option instead (for a small performance price in non-JITted code). +* 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 ``paxctl -cm``. + This also applies to translation (unless you use CPython to run the + translation and you specify ``--source``). + .. _`x86 (IA-32)`: http://en.wikipedia.org/wiki/IA-32 .. _`x86-64`: http://en.wikipedia.org/wiki/X86-64 .. _SSE2: http://en.wikipedia.org/wiki/SSE2