Build failure with system (ArchLinux) pypy
Created originally on Bitbucket by avmo (Ashwin Vishnu)
Traceback (most recent call last):
File "setup.py", line 216, in <module>
lib_flags_dict=lib_flags_dict, lib_dirs_dict=lib_dirs_dict)
File "/home/avmo/src/fluidmeta/fluidfft/purepymake.py", line 468, in make_extensions
result, path, include_dirs, options)
File "/home/avmo/src/fluidmeta/fluidfft/purepymake.py", line 315, in make_command_obj_from_cpp
command = ' '.join([conf_vars[k] for k in keys])
File "/home/avmo/src/fluidmeta/fluidfft/purepymake.py", line 315, in <listcomp>
command = ' '.join([conf_vars[k] for k in keys])
KeyError: 'CXX'
Reason:
~ ❯❯❯ pypy
Python 2.7.13 (ab0b9caf307db6592905a80b8faffd69b39005b8, Apr 26 2018, 07:09:35)
[PyPy 6.0.0 with GCC 7.3.1 20180406] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>> import sysconfig
>>>> import pprint
>>>> pprint.pprint(sysconfig.get_config_vars())
{'INCLUDEPY': '/opt/pypy/include',
'SO': '.pypy-41.so',
'SOABI': 'pypy-41',
'base': '/opt/pypy',
'exec_prefix': '/opt/pypy',
'implementation': 'PyPy',
'implementation_lower': 'pypy',
'platbase': '/opt/pypy',
'prefix': '/opt/pypy',
'projectbase': '/opt/pypy/bin',
'py_version': '2.7.13',
'py_version_nodot': '27',
'py_version_short': '2.7',
'srcdir': '/opt/pypy/bin',
'userbase': '/home/avmo/.local'}
>>>>
❯❯❯ pypy3 (fluidmeta-pypy)
Python 3.5.3 (fdd60ed87e941677e8ea11acf9f1819466521bf2, Apr 26 2018, 07:09:59)
[PyPy 6.0.0 with GCC 7.3.1 20180406] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> import sysconfig
>>>> sysconfig.get_config_vars()
{'prefix': '/scratch/avmo/opt/fluidmeta-pypy', 'exec_prefix': '/scratch/avmo/opt/fluidmeta-pypy', 'py_version': '3.5.3', 'py_version_short': '3.5', 'py_version_nodot': '35', 'installed_base': '/scratch/avmo/opt/fluidmeta-pypy', 'base': '/scratch/avmo/opt/fluidmeta-pypy', 'installed_platbase': '/scratch/avmo/opt/fluidmeta-pypy', 'platbase': '/scratch/avmo/opt/fluidmeta-pypy', 'projectbase': '/scratch/avmo/opt/fluidmeta-pypy/bin', 'abiflags': '', 'EXT_SUFFIX': '.pypy3-60-x86_64-linux-gnu.so', 'SHLIB_SUFFIX': '.pypy3-60-x86_64-linux-gnu.so', 'SOABI': 'pypy3-60', 'SO': '.pypy3-60-x86_64-linux-gnu.so', 'userbase': '/home/avmo/.local', 'srcdir': '/scratch/avmo/opt/fluidmeta-pypy/lib-python/config-3.5', 'INCLUDEPY': '/scratch/avmo/opt/fluidmeta-pypy/include'}
>>>> import pprint
>>>> pprint.pprint(sysconfig.get_config_vars())
{'EXT_SUFFIX': '.pypy3-60-x86_64-linux-gnu.so',
'INCLUDEPY': '/scratch/avmo/opt/fluidmeta-pypy/include',
'SHLIB_SUFFIX': '.pypy3-60-x86_64-linux-gnu.so',
'SO': '.pypy3-60-x86_64-linux-gnu.so',
'SOABI': 'pypy3-60',
'abiflags': '',
'base': '/scratch/avmo/opt/fluidmeta-pypy',
'exec_prefix': '/scratch/avmo/opt/fluidmeta-pypy',
'installed_base': '/scratch/avmo/opt/fluidmeta-pypy',
'installed_platbase': '/scratch/avmo/opt/fluidmeta-pypy',
'platbase': '/scratch/avmo/opt/fluidmeta-pypy',
'prefix': '/scratch/avmo/opt/fluidmeta-pypy',
'projectbase': '/scratch/avmo/opt/fluidmeta-pypy/bin',
'py_version': '3.5.3',
'py_version_nodot': '35',
'py_version_short': '3.5',
'srcdir': '/scratch/avmo/opt/fluidmeta-pypy/lib-python/config-3.5',
'userbase': '/home/avmo/.local'}
>>>>
Which means CXX cannot be guaranteed to appear in sysconfig.