build fails on 3.8-dev: PyInterpreterState is now private

Create issue
Issue #403 resolved
Quentin Pradet created an issue

cffi no longer builds correctly with Python 3.8-dev:

    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/opt/python/3.8-dev/include/python3.8m -c c/_cffi_backend.c -o build/temp.linux-x86_64-3.8/c/_cffi_backend.o
    In file included from c/cffi1_module.c:20:0,
                     from c/_cffi_backend.c:7552:
    c/call_python.c: In function ‘_get_interpstate_dict’:
    c/call_python.c:20:30: error: dereferencing pointer to incomplete type ‘PyInterpreterState {aka struct _is}’
         builtins = tstate->interp->builtins;
                                  ^
    error: command 'gcc' failed with exit status 1

Indeed, PyInterpreterState is now private now that https://github.com/python/cpython/pull/11731 has been merged, see https://bugs.python.org/issue35886 and https://mail.python.org/pipermail/python-dev/2019-February/156344.html for details.

Comments (3)

  1. Log in to comment