Skip to content
Snippets Groups Projects
Commit a1903b12 authored by Armin Rigo's avatar Armin Rigo
Browse files

Update the "packaging" section with separate pre-cffi-1.0 and

post-cffi-1.0 instructions.
parent b5af0290
No related branches found
No related tags found
No related merge requests found
......@@ -302,11 +302,24 @@
invariably become out-of-date. If you want to write custom scripts
anyway, note an easy-to-miss point: some modules are written with CFFI,
and require some compilation. If you install PyPy as root without
pre-compiling them, normal users will get permission errors. This means
you need to run for example <tt class="docutils literal">pypy <span class="pre">-c</span> &ldquo;import gdbm&rdquo;</tt> during the
installation process (see the exact list in <a class="reference external" href="https://bitbucket.org/pypy/pypy/src/default/pypy/tool/release/package.py">package.py</a>). Users
seeing a broken installation of PyPy can also fix it after-the-fact, if
they have sudo rights, by running <tt class="docutils literal">sudo pypy <span class="pre">-c</span> &ldquo;import gdbm&rdquo;</tt>.</p>
pre-compiling them, normal users will get errors:</p>
<ul class="simple">
<li>PyPy 2.5.1 or earlier: normal users would see permission errors.
Installers need to run <tt class="docutils literal">pypy <span class="pre">-c</span> &ldquo;import gdbm&rdquo;</tt> and other similar
commands at install time; the exact list is in <a class="reference external" href="https://bitbucket.org/pypy/pypy/src/default/pypy/tool/release/package.py">package.py</a>. Users
seeing a broken installation of PyPy can fix it after-the-fact if they
have sudo rights, by running once e.g. <tt class="docutils literal">sudo pypy <span class="pre">-c</span> &quot;import gdbm</tt>.</li>
<li>PyPy 2.6 and later: anyone would get <tt class="docutils literal">ImportError: no module named
_gdbm_cffi</tt>. Installers need to run <tt class="docutils literal">pypy _gdbm_build.py</tt> in the
<tt class="docutils literal">lib_pypy</tt> directory during the installation process (plus others;
see the exact list in <a class="reference external" href="https://bitbucket.org/pypy/pypy/src/default/pypy/tool/release/package.py">package.py</a>). Users seeing a broken
installation of PyPy can fix it after-the-fact, by running <tt class="docutils literal">pypy
/path/to/lib_pypy/_gdbm_build.py</tt>. This command produces a file
called <tt class="docutils literal"><span class="pre">_gdbm_cffi.pypy-26.so</span></tt> locally, which is a C extension
module for PyPy. You can move it at any place where modules are
normally found: e.g. in your project's main directory, or in a
directory that you add to the env var <tt class="docutils literal">PYTHONPATH</tt>.</li>
</ul>
</div>
<div class="section" id="checksums">
<h1>Checksums</h1>
......
......@@ -325,11 +325,24 @@
invariably become out-of-date. If you want to write custom scripts
anyway, note an easy-to-miss point: some modules are written with CFFI,
and require some compilation. If you install PyPy as root without
pre-compiling them, normal users will get permission errors. This means
you need to run for example ``pypy -c "import gdbm"`` during the
installation process (see the exact list in `package.py`_). Users
seeing a broken installation of PyPy can also fix it after-the-fact, if
they have sudo rights, by running ``sudo pypy -c "import gdbm"``.
pre-compiling them, normal users will get errors:
* PyPy 2.5.1 or earlier: normal users would see permission errors.
Installers need to run ``pypy -c "import gdbm"`` and other similar
commands at install time; the exact list is in `package.py`_. Users
seeing a broken installation of PyPy can fix it after-the-fact if they
have sudo rights, by running once e.g. ``sudo pypy -c "import gdbm``.
* PyPy 2.6 and later: anyone would get ``ImportError: no module named
_gdbm_cffi``. Installers need to run ``pypy _gdbm_build.py`` in the
``lib_pypy`` directory during the installation process (plus others;
see the exact list in `package.py`_). Users seeing a broken
installation of PyPy can fix it after-the-fact, by running ``pypy
/path/to/lib_pypy/_gdbm_build.py``. This command produces a file
called ``_gdbm_cffi.pypy-26.so`` locally, which is a C extension
module for PyPy. You can move it at any place where modules are
normally found: e.g. in your project's main directory, or in a
directory that you add to the env var ``PYTHONPATH``.
.. _`package.py`: https://bitbucket.org/pypy/pypy/src/default/pypy/tool/release/package.py
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment