Hi,
I was wondering if anyone has ever seen something like this from the SelfTest, and knows what it might mean?
cffi.FFIError: multiple declarations of anonymous MPZ (for interactive usage, try cdef(xx, override=True))
Full traceback below. The python here is installed as part of a
Windows Salt minion; please take my word for it that this not a systematic issue with the Salt minion. Directly modifying Util\_raw_api.py to add the override kwargs seems to make the problem go away. Thanks for any help anyone might be able to provide.
PS C:\salt> c:\salt\bin\python.exe -V
Python 3.5.4
PS C:\salt> c:\salt\bin\python.exe -m Cryptodome.SelfTest
Traceback (most recent call last):
File "C:\salt\bin\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\salt\bin\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\salt\bin\lib\site-packages\Cryptodome\SelfTest\__main__.py", line 38, in <module>
SelfTest.run(stream=sys.stdout, verbosity=1, config=config)
File "C:\salt\bin\lib\site-packages\Cryptodome\SelfTest\__init__.py", line 61, in run
tests = get_tests(config=config)
File "C:\salt\bin\lib\site-packages\Cryptodome\SelfTest\__init__.py", line 90, in get_tests
from Cryptodome.SelfTest import Math; tests += Math.get_tests(config=config)
File "C:\salt\bin\lib\site-packages\Cryptodome\SelfTest\Math\__init__.py", line 41, in get_tests
tests += test_Numbers.get_tests(config=config)
File "C:\salt\bin\lib\site-packages\Cryptodome\SelfTest\Math\test_Numbers.py", line 744, in get_tests
from Cryptodome.Math._IntegerGMP import IntegerGMP
File "C:\salt\bin\lib\site-packages\Cryptodome\Math\_IntegerGMP.py", line 95, in <module>
lib = load_lib("gmp", gmp_defs)
File "C:\salt\bin\lib\site-packages\Cryptodome\Util\_raw_api.py", line 103, in load_lib
ffi.cdef(cdecl)
File "C:\salt\bin\lib\site-packages\cffi\api.py", line 112, in cdef
self._cdef(csource, override=override, packed=packed, pack=pack)
File "C:\salt\bin\lib\site-packages\cffi\api.py", line 126, in _cdef
self._parser.parse(csource, override=override, **options)
File "C:\salt\bin\lib\site-packages\cffi\cparser.py", line 347, in parse
self._internal_parse(csource)
File "C:\salt\bin\lib\site-packages\cffi\cparser.py", line 387, in _internal_parse
decl.type, name=decl.name, partial_length_ok=True)
File "C:\salt\bin\lib\site-packages\cffi\cparser.py", line 619, in _get_type_and_quals
tp = self._get_struct_union_enum_type('struct', type, name)
File "C:\salt\bin\lib\site-packages\cffi\cparser.py", line 751, in _get_struct_union_enum_type
self._declare('anonymous %s' % tp.forcename, tp)
File "C:\salt\bin\lib\site-packages\cffi\cparser.py", line 526, in _declare
"try cdef(xx, override=True))" % (name,))
cffi.FFIError: multiple declarations of anonymous MPZ (for interactive usage, try cdef(xx, override=True))
-Ken