[pypy-issue] Issue #2660: SHLIB_SUFFIX appears to be incorrect (pypy/pypy)

eevee issues-reply at bitbucket.org
Tue Sep 19 20:35:18 EDT 2017

New issue 2660: SHLIB_SUFFIX appears to be incorrect


At least on my system, `sysconfig.get_config_var('SHLIB_SUFFIX')` returns `.pypy3-58-x86_64-linux-gnu.so`, the same as `EXT_SUFFIX`.  But CPython returns `.so`.

By the looks of [Python issue 16754](https://bugs.python.org/issue16754), the entire point of having `SHLIB_SUFFIX` vs `EXT_SUFFIX` is so `SHLIB_SUFFIX` can be the plain suffix used for finding system libraries, and `EXT_SUFFIX` can be used for Python extension modules.

I ran into this trying to install Pillow, which looks for some libraries via distutils's `find_library_file`, which relies on `Compiler.shared_lib_extension`, which is set by `distutils.sysconfig_pypy.customize_compiler` to be `SHLIB_SUFFIX`.

I'm actually not sure how anyone is successfully building against shared libraries on Linux at the moment; maybe this only affects me, for some bizarre reason.  Changing it to `.so` in both `distutils/sysconfig_pypy.py` and `_sysconfigdata.py` allowed Pillow to install successfully.

Arch Linux x64, using Arch's PyPy3 package:

Python 3.5.3 (a37ecfe5f142bc971a86d17305cc5d1d70abec64, Jun 12 2017, 16:41:39)
[PyPy 5.8.0-beta0 with GCC 7.1.1 20170528]

More information about the pypy-issue mailing list