Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update cffi to v1.13.2 #2768

Merged
merged 1 commit into from
Feb 9, 2020
Merged

update cffi to v1.13.2 #2768

merged 1 commit into from
Feb 9, 2020

Conversation

mkroman
Copy link
Contributor

@mkroman mkroman commented Feb 6, 2020

This fixes some compilation issues for CPython 3.8+ that I was having while running make install

Running setup.py install for cffi ... error
ERROR: Command errored out with exit status 1:
 command: /home/mk/.pyenv/versions/3.8.1/bin/python3.8 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-b0snfbt_/cffi/setup.py'"'"'; __file__='"'"'/tmp/pip-install-b0snfbt_/cffi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-sv6iwie5/install-record.txt --single-version-externally-managed --compile --install-headers /home/mk/.pyenv/versions/3.8.1/include/python3.8/cffi
     cwd: /tmp/pip-install-b0snfbt_/cffi/
Complete output (38 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.8
creating build/lib.linux-x86_64-3.8/cffi
copying cffi/recompiler.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/verifier.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/__init__.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/lock.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/api.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/vengine_gen.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/pkgconfig.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/ffiplatform.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/cparser.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/error.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/commontypes.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/model.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-3.8/cffi
copying cffi/_cffi_include.h -> build/lib.linux-x86_64-3.8/cffi
copying cffi/parse_c_type.h -> build/lib.linux-x86_64-3.8/cffi
copying cffi/_embedding.h -> build/lib.linux-x86_64-3.8/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-x86_64-3.8/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/c
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/lib/libffi-3.2.1/include -I/home/mk/.pyenv/versions/3.8.1/include/python3.8 -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,
                 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’}
   20 |     builtins = tstate->interp->builtins;
      |                              ^~
error: command 'gcc' failed with exit status 1
----------------------------------------

The relevant fixes are available in cffi v1.12.3 but I figured it'd be worth moving to v1.13 as I don't see any breaking changes.

I haven't looked at updates for any of the other dependencies as they install fine.

@mkroman
Copy link
Contributor Author

mkroman commented Feb 6, 2020

There's a silent compatibility issue with CPython 3.8 as I described in #2769 - however, when testing with Python v3.7.6 and cffi v1.13.2 there doesn't seem to be any regression related to this issue.

@lyoshenka
Copy link
Member

@mkroman thank you for this PR. We'll take a look as soon as we can. Can we show you some appreciation for the contribution?

@lbry-bot lbry-bot assigned eukreign and unassigned eukreign Feb 6, 2020
This fixes compilation issues for CPython 3.8+
@lbry-bot lbry-bot assigned eukreign and unassigned eukreign Feb 9, 2020
@eukreign eukreign changed the title Update cffi to v1.13.2 update cffi to v1.13.2 Feb 9, 2020
@eukreign eukreign added area: packaging type: improvement Existing (or partially existing) functionality needs to be changed labels Feb 9, 2020
@eukreign eukreign merged commit 601ee43 into lbryio:master Feb 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: improvement Existing (or partially existing) functionality needs to be changed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants