Hey Tommy, A few releases ago, yeah, and by some of our other dependencies. PyCrypto, which you already have installed, used to be the primary module used for cryptographic work, but it's no longer maintained, and the Python world's largely moved over to the cryptography module. Like PyCrypto, it often has to be compiled on systems, but it introduced the additional libffi-dev dependency, which has tripped some people up. Unfortunately, due to the limitations of Python package management, there's no way we can really check for this or warn before attempting to perform an upgrade.
Christian On Tue, Aug 15, 2017 at 3:41 PM, Tommy Kalafut <[email protected]> wrote: > Thanks. Is that something new needed by review board, I take it? > > On Monday, August 14, 2017 at 4:47:05 PM UTC-7, Christian Hammond wrote: >> >> Hi, >> >> You'll need the libffi development package for your distro. This may be >> called libffi-dev or libffi-devel, depending. >> >> Christian >> >> On Mon, Aug 14, 2017 at 4:37 PM, Tommy Kalafut <[email protected]> >> wrote: >> >>> We're currently on 2.5.9. Anybody seen this? >>> >>> >>> ... >>> Writing /tmp/easy_install-Cp9JeD/cryptography-2.0.3/setup.cfg >>> Running cryptography-2.0.3/setup.py -q bdist_egg --dist-dir >>> /tmp/easy_install-Cp9JeD/cryptography-2.0.3/egg-dist-tmp-zle7rN >>> Checking .pth file support in . >>> /usr/bin/python -E -c pass >>> Searching for cffi>=1.7 >>> Reading http://pypi.python.org/simple/cffi/ >>> Best match: cffi 1.10.0 >>> Downloading https://pypi.python.org/packages/5b/b9/790f8eafcdab455bcd3bd >>> 908161f802c9ce5adbf702a83aa7712fcc345b7/cffi-1.10.0.tar.gz# >>> md5=2b5fa41182ed0edaf929a789e602a070 >>> Processing cffi-1.10.0.tar.gz >>> Writing /tmp/easy_install-Cp9JeD/cryptography-2.0.3/temp/easy_instal >>> l-7D0J67/cffi-1.10.0/setup.cfg >>> Running cffi-1.10.0/setup.py -q bdist_egg --dist-dir >>> /tmp/easy_install-Cp9JeD/cryptography-2.0.3/temp/easy_instal >>> l-7D0J67/cffi-1.10.0/egg-dist-tmp-AzTd9w >>> Package libffi was not found in the pkg-config search path. >>> Perhaps you should add the directory containing `libffi.pc' >>> to the PKG_CONFIG_PATH environment variable >>> No package 'libffi' found >>> Package libffi was not found in the pkg-config search path. >>> Perhaps you should add the directory containing `libffi.pc' >>> to the PKG_CONFIG_PATH environment variable >>> No package 'libffi' found >>> Package libffi was not found in the pkg-config search path. >>> Perhaps you should add the directory containing `libffi.pc' >>> to the PKG_CONFIG_PATH environment variable >>> No package 'libffi' found >>> Package libffi was not found in the pkg-config search path. >>> Perhaps you should add the directory containing `libffi.pc' >>> to the PKG_CONFIG_PATH environment variable >>> No package 'libffi' found >>> Package libffi was not found in the pkg-config search path. >>> Perhaps you should add the directory containing `libffi.pc' >>> to the PKG_CONFIG_PATH environment variable >>> No package 'libffi' found >>> compiling '_configtest.c': >>> __thread int some_threadlocal_variable_42; >>> gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall >>> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector >>> --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv >>> -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >>> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic >>> -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o >>> success! >>> removing: _configtest.c _configtest.o >>> compiling '_configtest.c': >>> int main(void) { __sync_synchronize(); return 0; } >>> gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall >>> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector >>> --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv >>> -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions >>> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic >>> -D_GNU_SOURCE -fPIC -fwrapv -fPIC -c _configtest.c -o _configtest.o >>> gcc -pthread _configtest.o -o _configtest >>> success! >>> removing: _configtest.c _configtest.o _configtest >>> c/_cffi_backend.c:15:17: error: ffi.h: No such file or directory >>> In file included from c/_cffi_backend.c:63: >>> c/malloc_closure.h:81: error: expected specifier-qualifier-list before >>> ‘ffi_closure’ >>> c/malloc_closure.h: In function ‘more_core’: >>> c/malloc_closure.h:117: warning: division by zero >>> c/malloc_closure.h:149: error: ‘union mmaped_block’ has no member named >>> ‘next’ >>> c/malloc_closure.h: At top level: >>> c/malloc_closure.h:158: error: expected ‘)’ before ‘*’ token >>> c/malloc_closure.h:166: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or >>> ‘__attribute__’ before ‘*’ token >>> c/_cffi_backend.c:259: error: expected specifier-qualifier-list before >>> ‘ffi_cif’ >>> c/_cffi_backend.c: In function ‘cdataowninggc_dealloc’: >>> c/_cffi_backend.c:1681: error: ‘ffi_closure’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:1681: error: (Each undeclared identifier is reported >>> only once >>> c/_cffi_backend.c:1681: error: for each function it appears in.) >>> c/_cffi_backend.c:1681: error: ‘closure’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:1681: error: expected expression before ‘)’ token >>> c/_cffi_backend.c:1684: warning: implicit declaration of function >>> ‘cffi_closure_free’ >>> c/_cffi_backend.c: In function ‘cdataowninggc_traverse’: >>> c/_cffi_backend.c:1701: error: ‘ffi_closure’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:1701: error: ‘closure’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:1701: error: expected expression before ‘)’ token >>> c/_cffi_backend.c: In function ‘cdataowninggc_clear’: >>> c/_cffi_backend.c:1722: error: ‘ffi_closure’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:1722: error: ‘closure’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:1722: error: expected expression before ‘)’ token >>> c/_cffi_backend.c: In function ‘cdataowninggc_repr’: >>> c/_cffi_backend.c:1928: error: ‘ffi_closure’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:1928: error: expected expression before ‘)’ token >>> c/_cffi_backend.c: At top level: >>> c/_cffi_backend.c:2618: error: expected declaration specifiers or ‘...’ >>> before ‘ffi_abi’ >>> c/_cffi_backend.c: In function ‘cdata_call’: >>> c/_cffi_backend.c:2751: error: ‘ffi_abi’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:2751: error: expected ‘;’ before ‘fabi’ >>> c/_cffi_backend.c:2793: error: ‘fabi’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:2797: error: too many arguments to function >>> ‘fb_prepare_cif’ >>> c/_cffi_backend.c:2802: error: ‘cif_description_t’ has no member named >>> ‘exchange_size’ >>> c/_cffi_backend.c:2812: error: ‘cif_description_t’ has no member named >>> ‘exchange_offset_arg’ >>> c/_cffi_backend.c:2842: error: ‘cif_description_t’ has no member named >>> ‘exchange_offset_arg’ >>> c/_cffi_backend.c:2847: warning: implicit declaration of function >>> ‘ffi_call’ >>> c/_cffi_backend.c:2847: error: ‘cif_description_t’ has no member named >>> ‘cif’ >>> c/_cffi_backend.c: In function ‘new_primitive_type’: >>> c/_cffi_backend.c:4042: error: ‘ffi_type’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:4042: error: ‘ffitype’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:4060: error: ‘ffi_type_sint8’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:4061: error: ‘ffi_type_sint16’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:4062: error: ‘ffi_type_sint32’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:4063: error: ‘ffi_type_sint64’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:4069: error: ‘ffi_type_float’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:4071: error: ‘ffi_type_double’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:4079: error: ‘ffi_type_longdouble’ undeclared (first >>> use in this function) >>> c/_cffi_backend.c:4086: error: ‘ffi_type_uint8’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:4087: error: ‘ffi_type_uint16’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:4088: error: ‘ffi_type_uint32’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:4089: error: ‘ffi_type_uint64’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c: At top level: >>> c/_cffi_backend.c:4736: error: expected specifier-qualifier-list before >>> ‘ffi_type’ >>> c/_cffi_backend.c:4761: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or >>> ‘__attribute__’ before ‘*’ token >>> c/_cffi_backend.c:4771: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or >>> ‘__attribute__’ before ‘*’ token >>> c/_cffi_backend.c: In function ‘fb_build’: >>> c/_cffi_backend.c:4923: error: ‘struct funcbuilder_s’ has no member >>> named ‘atypes’ >>> c/_cffi_backend.c:4923: error: ‘ffi_type’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:4923: error: expected expression before ‘)’ token >>> c/_cffi_backend.c:4924: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:4927: error: ‘struct funcbuilder_s’ has no member >>> named ‘rtype’ >>> c/_cffi_backend.c:4927: warning: implicit declaration of function >>> ‘fb_fill_type’ >>> c/_cffi_backend.c:4935: error: ‘cif_description_t’ has no member named >>> ‘exchange_offset_arg’ >>> c/_cffi_backend.c:4938: error: ‘struct funcbuilder_s’ has no member >>> named ‘rtype’ >>> c/_cffi_backend.c:4939: error: ‘ffi_arg’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:4949: error: ‘atype’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:4962: error: ‘struct funcbuilder_s’ has no member >>> named ‘atypes’ >>> c/_cffi_backend.c:4963: error: ‘struct funcbuilder_s’ has no member >>> named ‘atypes’ >>> c/_cffi_backend.c:4966: error: ‘cif_description_t’ has no member named >>> ‘exchange_offset_arg’ >>> c/_cffi_backend.c:4975: error: ‘cif_description_t’ has no member named >>> ‘exchange_size’ >>> c/_cffi_backend.c: In function ‘fb_build_name’: >>> c/_cffi_backend.c:4999: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5011: error: ‘struct funcbuilder_s’ has no member >>> named ‘fct’ >>> c/_cffi_backend.c:5014: error: ‘struct funcbuilder_s’ has no member >>> named ‘fct’ >>> c/_cffi_backend.c: In function ‘fb_prepare_ctype’: >>> c/_cffi_backend.c:5058: error: ‘struct funcbuilder_s’ has no member >>> named ‘fct’ >>> c/_cffi_backend.c:5075: error: ‘struct funcbuilder_s’ has no member >>> named ‘fct’ >>> c/_cffi_backend.c: At top level: >>> c/_cffi_backend.c:5095: error: expected declaration specifiers or ‘...’ >>> before ‘ffi_abi’ >>> c/_cffi_backend.c: In function ‘fb_prepare_cif’: >>> c/_cffi_backend.c:5122: warning: implicit declaration of function >>> ‘ffi_prep_cif’ >>> c/_cffi_backend.c:5122: error: ‘cif_description_t’ has no member named >>> ‘cif’ >>> c/_cffi_backend.c:5122: error: ‘fabi’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:5122: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5123: error: ‘struct funcbuilder_s’ has no member >>> named ‘rtype’ >>> c/_cffi_backend.c:5123: error: ‘struct funcbuilder_s’ has no member >>> named ‘atypes’ >>> c/_cffi_backend.c:5123: error: ‘FFI_OK’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c: In function ‘new_function_type’: >>> c/_cffi_backend.c:5167: error: too many arguments to function >>> ‘fb_prepare_cif’ >>> c/_cffi_backend.c:5181: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5191: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5201: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5204: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5205: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c:5207: error: ‘struct funcbuilder_s’ has no member >>> named ‘nargs’ >>> c/_cffi_backend.c: In function ‘b_new_function_type’: >>> c/_cffi_backend.c:5218: error: ‘FFI_DEFAULT_ABI’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c: In function ‘convert_from_object_fficallback’: >>> c/_cffi_backend.c:5238: error: ‘ffi_arg’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c: At top level: >>> c/_cffi_backend.c:5420: error: expected ‘)’ before ‘*’ token >>> c/_cffi_backend.c: In function ‘prepare_callback_info_tuple’: >>> c/_cffi_backend.c:5462: error: ‘ffi_arg’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c: In function ‘b_callback’: >>> c/_cffi_backend.c:5495: error: ‘ffi_closure’ undeclared (first use in >>> this function) >>> c/_cffi_backend.c:5495: error: ‘closure’ undeclared (first use in this >>> function) >>> c/_cffi_backend.c:5505: warning: implicit declaration of function >>> ‘cffi_closure_alloc’ >>> c/_cffi_backend.c:5523: warning: implicit declaration of function >>> ‘ffi_prep_closure’ >>> c/_cffi_backend.c:5523: error: ‘cif_description_t’ has no member named >>> ‘cif’ >>> c/_cffi_backend.c:5524: error: ‘invoke_callback’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c:5524: error: ‘FFI_OK’ undeclared (first use in this >>> function) >>> In file included from c/cffi1_module.c:3, >>> from c/_cffi_backend.c:6896: >>> c/realize_c_type.c: In function ‘realize_c_type_or_func’: >>> c/realize_c_type.c:577: error: ‘FFI_DEFAULT_ABI’ undeclared (first use >>> in this function) >>> c/_cffi_backend.c: In function ‘init_cffi_backend’: >>> c/_cffi_backend.c:6988: error: ‘FFI_DEFAULT_ABI’ undeclared (first use >>> in this function) >>> error: Setup script exited with error: command 'gcc' failed with exit >>> status 1 >>> >>> -- >>> Supercharge your Review Board with Power Pack: >>> https://www.reviewboard.org/powerpack/ >>> Want us to host Review Board for you? Check out RBCommons: >>> https://rbcommons.com/ >>> Happy user? Let us know! https://www.reviewboard.org/users/ >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "reviewboard" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> Christian Hammond >> President/CEO of Beanbag <https://www.beanbaginc.com/> >> Makers of Review Board <https://www.reviewboard.org/> >> > -- > Supercharge your Review Board with Power Pack: > https://www.reviewboard.org/powerpack/ > Want us to host Review Board for you? Check out RBCommons: > https://rbcommons.com/ > Happy user? Let us know! https://www.reviewboard.org/users/ > --- > You received this message because you are subscribed to the Google Groups > "reviewboard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Christian Hammond President/CEO of Beanbag <https://www.beanbaginc.com/> Makers of Review Board <https://www.reviewboard.org/> -- Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/ Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/ Happy user? Let us know! https://www.reviewboard.org/users/ --- You received this message because you are subscribed to the Google Groups "reviewboard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
