[pypy-commit] pypy default: copy packaging explaination from www.pypy.org to documentation
mattip
pypy.commits at gmail.com
Wed Jun 7 10:36:04 EDT 2017
Author: Matti Picus <matti.picus at gmail.com>
Branch:
Changeset: r91563:197b78d9963b
Date: 2017-06-07 17:35 +0300
http://bitbucket.org/pypy/pypy/changeset/197b78d9963b/
Log: copy packaging explaination from www.pypy.org to documentation
diff --git a/pypy/doc/build.rst b/pypy/doc/build.rst
--- a/pypy/doc/build.rst
+++ b/pypy/doc/build.rst
@@ -195,6 +195,29 @@
``/tmp/usession-YOURNAME/build/``. You can then either move the file
hierarchy or unpack the ``.tar.bz2`` at the correct place.
+It is recommended to use package.py because custom scripts will
+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 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-41.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``.
+
Installation
------------
More information about the pypy-commit
mailing list