MidnightBSD Magus

devel/py-cffi

Foreign Function Interface for Python calling C code

Flavor Version Run OSVersion Arch License Restricted Status
py37 1.13.2_1 400 1.2 amd64 mit 0 fail

Events

Machine Type Time Message
m1264 info 2020-04-18 23:24:56.902091 Test Started
m1264 fail 2020-04-18 23:29:36.834131 make test returned non-zero: 1
m1264 fail 2020-04-18 23:29:37.488237 Test complete.

Log

===>  Testing for py37-cffi-1.13.2_1
===>   py37-cffi-1.13.2_1 depends on package: py37-pytest>0 - not found
===>  Installing /magus/packages/All/py37-pytest-3.6.4.mport
===>   py37-pytest-3.6.4 depends on package: py37-atomicwrites>=1.0 - not found
===>  Installing /magus/packages/All/py37-atomicwrites-1.1.5.mport
===>   py37-atomicwrites-1.1.5 depends on package: py37-setuptools>0 - found
===>   py37-atomicwrites-1.1.5 depends on file: /usr/local/bin/python3.7 - found
Installing py37-atomicwrites-1.1.5
/usr/local/share/licenses/py37-atomicwrites-1.1.5/catalog.mk
/usr/local/share/licenses/py37-atomicwrites-1.1.5/LICENSE
/usr/local/share/licenses/py37-atomicwrites-1.1.5/mit
/usr/local/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/atomicwrites-1.1.5-py3.7.egg-info/top_level.txt
/usr/local/lib/python3.7/site-packages/atomicwrites/__init__.py
/usr/local/lib/python3.7/site-packages/atomicwrites/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/atomicwrites/__pycache__/__init__.cpython-37.pyc

===>  Done.
===>   py37-pytest-3.6.4 depends on package: py37-atomicwrites>=1.0 - found
===>   Returning to build of py37-pytest-3.6.4
===>   py37-pytest-3.6.4 depends on package: py37-attrs>=17.4.0 - not found
===>  Installing /magus/packages/All/py37-attrs-18.1.0.mport
===>   py37-attrs-18.1.0 depends on package: py37-setuptools>0 - found
===>   py37-attrs-18.1.0 depends on file: /usr/local/bin/python3.7 - found
Installing py37-attrs-18.1.0
/usr/local/share/licenses/py37-attrs-18.1.0/catalog.mk
/usr/local/share/licenses/py37-attrs-18.1.0/LICENSE
/usr/local/share/licenses/py37-attrs-18.1.0/mit
/usr/local/lib/python3.7/site-packages/attr/__init__.py
/usr/local/lib/python3.7/site-packages/attr/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_compat.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_compat.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_config.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_config.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_funcs.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_funcs.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_make.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/_make.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/converters.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/converters.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/exceptions.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/exceptions.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/filters.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/filters.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/validators.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/attr/__pycache__/validators.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/attr/_compat.py
/usr/local/lib/python3.7/site-packages/attr/_config.py
/usr/local/lib/python3.7/site-packages/attr/_funcs.py
/usr/local/lib/python3.7/site-packages/attr/_make.py
/usr/local/lib/python3.7/site-packages/attr/converters.py
/usr/local/lib/python3.7/site-packages/attr/exceptions.py
/usr/local/lib/python3.7/site-packages/attr/filters.py
/usr/local/lib/python3.7/site-packages/attr/validators.py
/usr/local/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/not-zip-safe
/usr/local/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/requires.txt
/usr/local/lib/python3.7/site-packages/attrs-18.1.0-py3.7.egg-info/top_level.txt

===>  Done.
===>   py37-pytest-3.6.4 depends on package: py37-attrs>=17.4.0 - found
===>   Returning to build of py37-pytest-3.6.4
===>   py37-pytest-3.6.4 depends on package: py37-more-itertools>=4.0.0 - not found
===>  Installing /magus/packages/All/py37-more-itertools-4.2.0.mport
===>   py37-more-itertools-4.2.0 depends on package: py37-six>=1.0.0 - not found
===>  Installing /magus/packages/All/py37-six-1.13.0.mport
===>   py37-six-1.13.0 depends on package: py37-setuptools>0 - found
===>   py37-six-1.13.0 depends on file: /usr/local/bin/python3.7 - found
Installing py37-six-1.13.0
/usr/local/share/licenses/py37-six-1.13.0/catalog.mk
/usr/local/share/licenses/py37-six-1.13.0/LICENSE
/usr/local/share/licenses/py37-six-1.13.0/mit
/usr/local/lib/python3.7/site-packages/__pycache__/six.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/__pycache__/six.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/six-1.13.0-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/six-1.13.0-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/six-1.13.0-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/six-1.13.0-py3.7.egg-info/top_level.txt
/usr/local/lib/python3.7/site-packages/six.py

===>  Done.
===>   py37-more-itertools-4.2.0 depends on package: py37-six>=1.0.0 - found
===>   Returning to build of py37-more-itertools-4.2.0
===>   py37-more-itertools-4.2.0 depends on package: py37-setuptools>0 - found
===>   py37-more-itertools-4.2.0 depends on file: /usr/local/bin/python3.7 - found
Installing py37-more-itertools-4.2.0
/usr/local/share/licenses/py37-more-itertools-4.2.0/catalog.mk
/usr/local/share/licenses/py37-more-itertools-4.2.0/LICENSE
/usr/local/share/licenses/py37-more-itertools-4.2.0/mit
/usr/local/lib/python3.7/site-packages/more_itertools-4.2.0-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/more_itertools-4.2.0-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/more_itertools-4.2.0-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/more_itertools-4.2.0-py3.7.egg-info/requires.txt
/usr/local/lib/python3.7/site-packages/more_itertools-4.2.0-py3.7.egg-info/top_level.txt
/usr/local/lib/python3.7/site-packages/more_itertools/__init__.py
/usr/local/lib/python3.7/site-packages/more_itertools/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/__pycache__/more.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/__pycache__/more.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/__pycache__/recipes.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/__pycache__/recipes.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/more.py
/usr/local/lib/python3.7/site-packages/more_itertools/recipes.py
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__init__.py
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__pycache__/test_more.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__pycache__/test_more.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__pycache__/test_recipes.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/tests/__pycache__/test_recipes.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/more_itertools/tests/test_more.py
/usr/local/lib/python3.7/site-packages/more_itertools/tests/test_recipes.py

===>  Done.
===>   py37-pytest-3.6.4 depends on package: py37-more-itertools>=4.0.0 - found
===>   Returning to build of py37-pytest-3.6.4
===>   py37-pytest-3.6.4 depends on package: py37-pluggy>=0.5 - not found
===>  Installing /magus/packages/All/py37-pluggy-0.6.0.mport
===>   py37-pluggy-0.6.0 depends on package: py37-setuptools>0 - found
===>   py37-pluggy-0.6.0 depends on file: /usr/local/bin/python3.7 - found
Installing py37-pluggy-0.6.0
/usr/local/share/licenses/py37-pluggy-0.6.0/catalog.mk
/usr/local/share/licenses/py37-pluggy-0.6.0/LICENSE
/usr/local/share/licenses/py37-pluggy-0.6.0/mit
/usr/local/lib/python3.7/site-packages/pluggy-0.6.0-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/pluggy-0.6.0-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/pluggy-0.6.0-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/pluggy-0.6.0-py3.7.egg-info/top_level.txt
/usr/local/lib/python3.7/site-packages/pluggy/__init__.py
/usr/local/lib/python3.7/site-packages/pluggy/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/pluggy/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/pluggy/__pycache__/callers.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/pluggy/__pycache__/callers.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/pluggy/callers.py

===>  Done.
===>   py37-pytest-3.6.4 depends on package: py37-pluggy>=0.5 - found
===>   Returning to build of py37-pytest-3.6.4
===>   py37-pytest-3.6.4 depends on package: py37-py>=1.5.0 - not found
===>  Installing /magus/packages/All/py37-py-1.7.0.mport
===>   py37-py-1.7.0 depends on package: py37-setuptools>0 - found
===>   py37-py-1.7.0 depends on file: /usr/local/bin/python3.7 - found
Installing py37-py-1.7.0
/usr/local/share/licenses/py37-py-1.7.0/catalog.mk
/usr/local/share/licenses/py37-py-1.7.0/LICENSE
/usr/local/share/licenses/py37-py-1.7.0/mit
/usr/local/lib/python3.7/site-packages/py-1.7.0-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/py-1.7.0-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/py-1.7.0-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/py-1.7.0-py3.7.egg-info/not-zip-safe
/usr/local/lib/python3.7/site-packages/py-1.7.0-py3.7.egg-info/top_level.txt
/usr/local/lib/python3.7/site-packages/py/__init__.py
/usr/local/lib/python3.7/site-packages/py/__metainfo.py
/usr/local/lib/python3.7/site-packages/py/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/__metainfo.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/__metainfo.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_builtin.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_builtin.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_error.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_error.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_std.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_std.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_version.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_version.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_xmlgen.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/_xmlgen.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/test.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/__pycache__/test.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_builtin.py
/usr/local/lib/python3.7/site-packages/py/_code/__init__.py
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/_assertionnew.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/_assertionnew.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/_assertionold.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/_assertionold.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/_py2traceback.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/_py2traceback.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/assertion.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/assertion.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/code.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/code.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/source.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_code/__pycache__/source.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_code/_assertionnew.py
/usr/local/lib/python3.7/site-packages/py/_code/_assertionold.py
/usr/local/lib/python3.7/site-packages/py/_code/_py2traceback.py
/usr/local/lib/python3.7/site-packages/py/_code/assertion.py
/usr/local/lib/python3.7/site-packages/py/_code/code.py
/usr/local/lib/python3.7/site-packages/py/_code/source.py
/usr/local/lib/python3.7/site-packages/py/_error.py
/usr/local/lib/python3.7/site-packages/py/_io/__init__.py
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/capture.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/capture.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/saferepr.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/saferepr.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/terminalwriter.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_io/__pycache__/terminalwriter.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_io/capture.py
/usr/local/lib/python3.7/site-packages/py/_io/saferepr.py
/usr/local/lib/python3.7/site-packages/py/_io/terminalwriter.py
/usr/local/lib/python3.7/site-packages/py/_log/__init__.py
/usr/local/lib/python3.7/site-packages/py/_log/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_log/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_log/__pycache__/log.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_log/__pycache__/log.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_log/__pycache__/warning.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_log/__pycache__/warning.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_log/log.py
/usr/local/lib/python3.7/site-packages/py/_log/warning.py
/usr/local/lib/python3.7/site-packages/py/_path/__init__.py
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/cacheutil.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/cacheutil.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/common.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/common.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/local.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/local.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/svnurl.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/svnurl.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/svnwc.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_path/__pycache__/svnwc.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_path/cacheutil.py
/usr/local/lib/python3.7/site-packages/py/_path/common.py
/usr/local/lib/python3.7/site-packages/py/_path/local.py
/usr/local/lib/python3.7/site-packages/py/_path/svnurl.py
/usr/local/lib/python3.7/site-packages/py/_path/svnwc.py
/usr/local/lib/python3.7/site-packages/py/_process/__init__.py
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/cmdexec.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/cmdexec.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/forkedfunc.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/forkedfunc.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/killproc.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_process/__pycache__/killproc.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_process/cmdexec.py
/usr/local/lib/python3.7/site-packages/py/_process/forkedfunc.py
/usr/local/lib/python3.7/site-packages/py/_process/killproc.py
/usr/local/lib/python3.7/site-packages/py/_std.py
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__init__.py
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__pycache__/apipkg.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__pycache__/apipkg.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__pycache__/iniconfig.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/__pycache__/iniconfig.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/apipkg.py
/usr/local/lib/python3.7/site-packages/py/_vendored_packages/iniconfig.py
/usr/local/lib/python3.7/site-packages/py/_version.py
/usr/local/lib/python3.7/site-packages/py/_xmlgen.py
/usr/local/lib/python3.7/site-packages/py/test.py

===>  Done.
===>   py37-pytest-3.6.4 depends on package: py37-py>=1.5.0 - found
===>   Returning to build of py37-pytest-3.6.4
===>   py37-pytest-3.6.4 depends on package: py37-six>=1.10.0 - found
===>   py37-pytest-3.6.4 depends on package: py37-setuptools>0 - found
===>   py37-pytest-3.6.4 depends on file: /usr/local/bin/python3.7 - found
Installing py37-pytest-3.6.4
/usr/local/share/licenses/py37-pytest-3.6.4/catalog.mk
/usr/local/share/licenses/py37-pytest-3.6.4/LICENSE
/usr/local/share/licenses/py37-pytest-3.6.4/mit
/usr/local/bin/py.test-3.7
/usr/local/bin/py.test
/usr/local/bin/pytest-3.7
/usr/local/bin/pytest
/usr/local/lib/python3.7/site-packages/__pycache__/pytest.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/__pycache__/pytest.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__init__.py
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/_argcomplete.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/_argcomplete.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/_version.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/_version.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/cacheprovider.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/cacheprovider.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/capture.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/capture.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/compat.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/compat.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/debugging.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/debugging.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/deprecated.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/deprecated.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/doctest.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/doctest.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/fixtures.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/fixtures.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/freeze_support.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/freeze_support.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/helpconfig.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/helpconfig.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/hookspec.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/hookspec.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/junitxml.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/junitxml.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/logging.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/logging.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/main.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/main.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/monkeypatch.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/monkeypatch.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/nodes.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/nodes.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/nose.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/nose.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/outcomes.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/outcomes.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/pastebin.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/pastebin.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/pytester.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/pytester.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/python.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/python.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/python_api.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/python_api.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/recwarn.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/recwarn.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/resultlog.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/resultlog.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/runner.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/runner.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/setuponly.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/setuponly.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/setupplan.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/setupplan.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/skipping.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/skipping.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/terminal.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/terminal.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/tmpdir.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/tmpdir.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/unittest.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/unittest.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/warnings.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/__pycache__/warnings.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_argcomplete.py
/usr/local/lib/python3.7/site-packages/_pytest/_code/__init__.py
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/_py2traceback.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/_py2traceback.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/code.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/code.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/source.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/__pycache__/source.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/_code/_py2traceback.py
/usr/local/lib/python3.7/site-packages/_pytest/_code/code.py
/usr/local/lib/python3.7/site-packages/_pytest/_code/source.py
/usr/local/lib/python3.7/site-packages/_pytest/_version.py
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__init__.py
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/rewrite.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/rewrite.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/truncate.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/truncate.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/util.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/__pycache__/util.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/assertion/rewrite.py
/usr/local/lib/python3.7/site-packages/_pytest/assertion/truncate.py
/usr/local/lib/python3.7/site-packages/_pytest/assertion/util.py
/usr/local/lib/python3.7/site-packages/_pytest/cacheprovider.py
/usr/local/lib/python3.7/site-packages/_pytest/capture.py
/usr/local/lib/python3.7/site-packages/_pytest/compat.py
/usr/local/lib/python3.7/site-packages/_pytest/config/__init__.py
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/argparsing.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/argparsing.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/exceptions.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/exceptions.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/findpaths.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/__pycache__/findpaths.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/config/argparsing.py
/usr/local/lib/python3.7/site-packages/_pytest/config/exceptions.py
/usr/local/lib/python3.7/site-packages/_pytest/config/findpaths.py
/usr/local/lib/python3.7/site-packages/_pytest/debugging.py
/usr/local/lib/python3.7/site-packages/_pytest/deprecated.py
/usr/local/lib/python3.7/site-packages/_pytest/doctest.py
/usr/local/lib/python3.7/site-packages/_pytest/fixtures.py
/usr/local/lib/python3.7/site-packages/_pytest/freeze_support.py
/usr/local/lib/python3.7/site-packages/_pytest/helpconfig.py
/usr/local/lib/python3.7/site-packages/_pytest/hookspec.py
/usr/local/lib/python3.7/site-packages/_pytest/junitxml.py
/usr/local/lib/python3.7/site-packages/_pytest/logging.py
/usr/local/lib/python3.7/site-packages/_pytest/main.py
/usr/local/lib/python3.7/site-packages/_pytest/mark/__init__.py
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/__init__.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/__init__.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/evaluate.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/evaluate.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/legacy.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/legacy.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/structures.cpython-37.opt-1.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/__pycache__/structures.cpython-37.pyc
/usr/local/lib/python3.7/site-packages/_pytest/mark/evaluate.py
/usr/local/lib/python3.7/site-packages/_pytest/mark/legacy.py
/usr/local/lib/python3.7/site-packages/_pytest/mark/structures.py
/usr/local/lib/python3.7/site-packages/_pytest/monkeypatch.py
/usr/local/lib/python3.7/site-packages/_pytest/nodes.py
/usr/local/lib/python3.7/site-packages/_pytest/nose.py
/usr/local/lib/python3.7/site-packages/_pytest/outcomes.py
/usr/local/lib/python3.7/site-packages/_pytest/pastebin.py
/usr/local/lib/python3.7/site-packages/_pytest/pytester.py
/usr/local/lib/python3.7/site-packages/_pytest/python.py
/usr/local/lib/python3.7/site-packages/_pytest/python_api.py
/usr/local/lib/python3.7/site-packages/_pytest/recwarn.py
/usr/local/lib/python3.7/site-packages/_pytest/resultlog.py
/usr/local/lib/python3.7/site-packages/_pytest/runner.py
/usr/local/lib/python3.7/site-packages/_pytest/setuponly.py
/usr/local/lib/python3.7/site-packages/_pytest/setupplan.py
/usr/local/lib/python3.7/site-packages/_pytest/skipping.py
/usr/local/lib/python3.7/site-packages/_pytest/terminal.py
/usr/local/lib/python3.7/site-packages/_pytest/tmpdir.py
/usr/local/lib/python3.7/site-packages/_pytest/unittest.py
/usr/local/lib/python3.7/site-packages/_pytest/warnings.py
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/PKG-INFO
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/SOURCES.txt
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/dependency_links.txt
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/entry_points.txt
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/not-zip-safe
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/requires.txt
/usr/local/lib/python3.7/site-packages/pytest-3.6.4-py3.7.egg-info/top_level.txt
/usr/local/lib/python3.7/site-packages/pytest.py

===>  Done.
===>   py37-cffi-1.13.2_1 depends on package: py37-pytest>0 - found
===>   Returning to build of py37-cffi-1.13.2_1
===>   py37-cffi-1.13.2_1 depends on file: /usr/local/bin/python3.7 - found
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
1 warning generated.
running build_ext
copying build/lib.midnightbsd-1.2-amd64-3.7/_cffi_backend.so -> 
============================= test session starts ==============================
platform midnightbsd1 -- Python 3.7.6, pytest-3.6.4, py-1.7.0, pluggy-0.6.0
rootdir: /magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2, inifile:
collected 2018 items

c/test_c.py ............................................................ [  2%]
....................sss................................................. [  6%]
...........s.......................s.................................... [ 10%]
....................                                                     [ 11%]
testing/cffi0/test_cdata.py .                                            [ 11%]
testing/cffi0/test_ctypes.py ..................s...............s.s.s.... [ 13%]
...s.........................sssssss..s..s.............................. [ 16%]
...............sssssssss                                                 [ 18%]
testing/cffi0/test_ffi_backend.py ...................................... [ 19%]
.............................................s...s...................... [ 23%]
............................................ssss..s..s...........ss..... [ 27%]
...........s.s...s...................                                    [ 28%]
testing/cffi0/test_function.py ......ssss..s..s...s..ss..sss..s          [ 30%]
testing/cffi0/test_model.py .............                                [ 31%]
testing/cffi0/test_ownlib.py ..ss...sss                                  [ 31%]
testing/cffi0/test_parsing.py ......................s..........          [ 33%]
testing/cffi0/test_platform.py ....                                      [ 33%]
testing/cffi0/test_unicode_literals.py ............                      [ 34%]
testing/cffi0/test_verify.py F..FFFFFFFFFFFFFF.FFFFFFFsFFFFFsFFFFFFF.FFF [ 36%]
FFFFF.FFFFFFFFF.FFFFFFFFFFFFFFF.FFFFFFFFFFFF.FFFFFFF.FF.FFFFFFFFFFFFFF.F [ 39%]
.FFsFFF.F.FFFFFFFFFFFFFFF.FFFFsF.FsFFFFFF.FFFFFsssF                      [ 42%]
testing/cffi0/test_verify2.py F..FFFFFFFFFFFFFF.FFFFFFFsFFFFFsFFFFFFF.FF [ 44%]
FFFFFF.FFFFFFFFF.FFFFFFFFFFFFFFF.FFFFFFFFFFFF.FFFFFFF.FF.FFFFFFFFFFFFFF. [ 47%]
F.FFsFFF.F.FFFFFFFFFFFFFFF.FFFFsF.FsFFFFFF.FFFFFsssF                     [ 50%]
testing/cffi0/test_version.py ......                                     [ 50%]
testing/cffi0/test_vgen.py F..FFFFFFFFFFFFFF.FFFFFFFsFFFFFsFFFFFFF.FFFFF [ 53%]
FFF.FFFFFFFFF.FFFFFFFFFFFFFFF.FFFFFFFFFFFF.FFFFFFF.FF.FFFFFFFFFFFFFF.F.F [ 56%]
FsFFF.FFFFFFFFFFFFFFFFF.FFFFsF.FsFFFFFF.FFFFFsssF                        [ 59%]
testing/cffi0/test_vgen2.py F..FFFFFFFFFFFFFF.FFFFFFFsFFFFFsFFFFFFF.FFFF [ 61%]
FFFF.FFFFFFFFF.FFFFFFFFFFFFFFF.FFFFFFFFFFFF.FFFFFFF.FF.FFFFFFFFFFFFFF.F. [ 64%]
FFsFFF.FFFFFFFFFFFFFFFFF.FFFFsF.FsFFFFFF.FFFFFsssF                       [ 67%]
testing/cffi0/test_zdistutils.py ......................................  [ 69%]
testing/cffi0/test_zintegration.py sssssss.                              [ 69%]
testing/cffi1/test_cffi_binary.py s                                      [ 69%]
testing/cffi1/test_commontypes.py ...                                    [ 69%]
testing/cffi1/test_dlopen.py ...............                             [ 70%]
testing/cffi1/test_dlopen_unicode_literals.py ...............            [ 71%]
testing/cffi1/test_ffi_obj.py .............................s............ [ 73%]
.                                                                        [ 73%]
testing/cffi1/test_new_ffi_1.py ........................................ [ 75%]
.........................................s...s.......................... [ 78%]
...........                                                              [ 79%]
testing/cffi1/test_parse_c_type.py ..................                    [ 80%]
testing/cffi1/test_pkgconfig.py ...                                      [ 80%]
testing/cffi1/test_re_python.py ....................                     [ 81%]
testing/cffi1/test_realize_c_type.py .........                           [ 81%]
testing/cffi1/test_recompiler.py ....................................... [ 83%]
..........................s............................................. [ 87%]
.......................s...FFFF...........F.........                     [ 89%]
testing/cffi1/test_unicode_literals.py .......                           [ 90%]
testing/cffi1/test_verify1.py ..FFFFFFFFFFFFFF.FFFFFFFFFFFFsFFFFFFF.FFFF [ 92%]
FFFF.FFFFFFFFFFFFFFFFFFFFFFF.FFFFFFFFFFFFFFFFFFFF.FF.FFFFFFFFFsFFFFFxxxs [ 95%]
FFFxF.FFFFFFFFFFFFFFFFFFFFsF.FsFFF.sFFFssss                              [ 98%]
testing/cffi1/test_zdist.py .......................                      [ 99%]
testing/embedding/test_basic.py ....                                     [ 99%]
testing/embedding/test_performance.py .....                              [ 99%]
testing/embedding/test_recursive.py .                                    [ 99%]
testing/embedding/test_thread.py ....                                    [ 99%]
testing/embedding/test_tlocal.py .                                       [100%]

=================================== FAILURES ===================================
_______________________________ test_module_type _______________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd425839fx521754a1.o'
src = 'testing/cffi0/__pycache__/_cffi__xd425839fx521754a1.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xd425839fx521754a1.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd425839fx521754a1.o'
src = 'testing/cffi0/__pycache__/_cffi__xd425839fx521754a1.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_module_type():
        import cffi.verifier
        ffi = FFI()
>       lib = ffi.verify()

testing/cffi0/test_verify.py:58: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________________ test_simple_case _______________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x6586930fx9ae8da83.o'
src = 'testing/cffi0/__pycache__/_cffi__x6586930fx9ae8da83.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x6586930fx9ae8da83.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x6586930fx9ae8da83.o'
src = 'testing/cffi0/__pycache__/_cffi__x6586930fx9ae8da83.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_simple_case():
        ffi = FFI()
        ffi.cdef("double sin(double x);")
>       lib = ffi.verify('#include ', libraries=lib_m)

testing/cffi0/test_verify.py:92: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_Wconversion_unsigned ___________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb78b2f08xbe77bb62.o'
src = 'testing/cffi0/__pycache__/_cffi__xb78b2f08xbe77bb62.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xb78b2f08xbe77bb62.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb78b2f08xbe77bb62.o'
src = 'testing/cffi0/__pycache__/_cffi__xb78b2f08xbe77bb62.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_Wconversion_unsigned():
        _Wconversion("unsigned foo(void);",
>                    "int foo(void) { return -1;}")

testing/cffi0/test_verify.py:111: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:104: in _Wconversion
    lib = ffi.verify(source, **kargs)
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_Wconversion_integer ___________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x6547a03axc3a6a09a.o'
src = 'testing/cffi0/__pycache__/_cffi__x6547a03axc3a6a09a.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x6547a03axc3a6a09a.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x6547a03axc3a6a09a.o'
src = 'testing/cffi0/__pycache__/_cffi__x6547a03axc3a6a09a.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_Wconversion_integer():
        _Wconversion("short foo(void);",
>                    "long long foo(void) { return 1<
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_Wconversion_floating ___________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x84a59552x2059991c.o'
src = 'testing/cffi0/__pycache__/_cffi__x84a59552x2059991c.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x84a59552x2059991c.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x84a59552x2059991c.o'
src = 'testing/cffi0/__pycache__/_cffi__x84a59552x2059991c.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_Wconversion_floating():
        lib = _Wconversion("float sin(double);",
>                          "#include ", libraries=lib_m)

testing/cffi0/test_verify.py:119: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:104: in _Wconversion
    lib = ffi.verify(source, **kargs)
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_Wconversion_float2int __________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xf560afe1x988e527a.o'
src = 'testing/cffi0/__pycache__/_cffi__xf560afe1x988e527a.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xf560afe1x988e527a.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xf560afe1x988e527a.o'
src = 'testing/cffi0/__pycache__/_cffi__xf560afe1x988e527a.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_Wconversion_float2int():
        _Wconversion("int sinf(float);",
>                    "#include ", libraries=lib_m)

testing/cffi0/test_verify.py:126: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:104: in _Wconversion
    lib = ffi.verify(source, **kargs)
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_________________________ test_Wconversion_double2int __________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x34aab600xef15534d.o'
src = 'testing/cffi0/__pycache__/_cffi__x34aab600xef15534d.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x34aab600xef15534d.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x34aab600xef15534d.o'
src = 'testing/cffi0/__pycache__/_cffi__x34aab600xef15534d.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_Wconversion_double2int():
        _Wconversion("int sin(double);",
>                    "#include ", libraries=lib_m)

testing/cffi0/test_verify.py:130: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:104: in _Wconversion
    lib = ffi.verify(source, **kargs)
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________________ test_rounding_1 ________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb24a8bf8x2222e48d.o'
src = 'testing/cffi0/__pycache__/_cffi__xb24a8bf8x2222e48d.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xb24a8bf8x2222e48d.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb24a8bf8x2222e48d.o'
src = 'testing/cffi0/__pycache__/_cffi__xb24a8bf8x2222e48d.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_rounding_1():
        ffi = FFI()
        ffi.cdef("double sinf(float x);")
>       lib = ffi.verify('#include ', libraries=lib_m)

testing/cffi0/test_verify.py:135: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________________ test_rounding_2 ________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb8b172d0x4c626ac4.o'
src = 'testing/cffi0/__pycache__/_cffi__xb8b172d0x4c626ac4.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xb8b172d0x4c626ac4.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb8b172d0x4c626ac4.o'
src = 'testing/cffi0/__pycache__/_cffi__xb8b172d0x4c626ac4.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_rounding_2():
        ffi = FFI()
        ffi.cdef("double sin(float x);")
>       lib = ffi.verify('#include ', libraries=lib_m)

testing/cffi0/test_verify.py:143: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
______________________________ test_strlen_exact _______________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3bc4b985xa29b9b0f.o'
src = 'testing/cffi0/__pycache__/_cffi__x3bc4b985xa29b9b0f.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x3bc4b985xa29b9b0f.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3bc4b985xa29b9b0f.o'
src = 'testing/cffi0/__pycache__/_cffi__x3bc4b985xa29b9b0f.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_strlen_exact():
        ffi = FFI()
        ffi.cdef("size_t strlen(const char *s);")
>       lib = ffi.verify("#include ")

testing/cffi0/test_verify.py:151: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_strlen_approximate ____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3c894e9xc52859fc.o'
src = 'testing/cffi0/__pycache__/_cffi__x3c894e9xc52859fc.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x3c894e9xc52859fc.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3c894e9xc52859fc.o'
src = 'testing/cffi0/__pycache__/_cffi__x3c894e9xc52859fc.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_strlen_approximate():
        lib = _Wconversion("int strlen(char *s);",
>                          "#include ")

testing/cffi0/test_verify.py:156: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:104: in _Wconversion
    lib = ffi.verify(source, **kargs)
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_return_approximate ____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xaf6f1e9bxc39c8d93.o'
src = 'testing/cffi0/__pycache__/_cffi__xaf6f1e9bxc39c8d93.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xaf6f1e9bxc39c8d93.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xaf6f1e9bxc39c8d93.o'
src = 'testing/cffi0/__pycache__/_cffi__xaf6f1e9bxc39c8d93.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_return_approximate():
        for typename in ['short', 'int', 'long', 'long long']:
            ffi = FFI()
            ffi.cdef("%s foo(signed char x);" % typename)
>           lib = ffi.verify("signed char foo(signed char x) { return x;}")

testing/cffi0/test_verify.py:163: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_strlen_array_of_char ___________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x342d5d6fxeed2cd85.o'
src = 'testing/cffi0/__pycache__/_cffi__x342d5d6fxeed2cd85.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x342d5d6fxeed2cd85.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x342d5d6fxeed2cd85.o'
src = 'testing/cffi0/__pycache__/_cffi__x342d5d6fxeed2cd85.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_strlen_array_of_char():
        ffi = FFI()
        ffi.cdef("size_t strlen(char[]);")
>       lib = ffi.verify("#include ")

testing/cffi0/test_verify.py:170: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________________ test_longdouble ________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x746c8227xda37b40e.o'
src = 'testing/cffi0/__pycache__/_cffi__x746c8227xda37b40e.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x746c8227xda37b40e.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x746c8227xda37b40e.o'
src = 'testing/cffi0/__pycache__/_cffi__x746c8227xda37b40e.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_longdouble():
        ffi = FFI()
        ffi.cdef("long double sinl(long double x);")
>       lib = ffi.verify('#include ', libraries=lib_m)

testing/cffi0/test_verify.py:176: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_longdouble_precision ___________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x1c6fe7fexa0e28397.o'
src = 'testing/cffi0/__pycache__/_cffi__x1c6fe7fexa0e28397.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x1c6fe7fexa0e28397.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x1c6fe7fexa0e28397.o'
src = 'testing/cffi0/__pycache__/_cffi__x1c6fe7fexa0e28397.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_longdouble_precision():
        # Test that we don't loose any precision of 'long double' when
        # passing through Python and CFFI.
        ffi = FFI()
        ffi.cdef("long double step1(long double x);")
        SAME_SIZE = ffi.sizeof("long double") == ffi.sizeof("double")
        lib = ffi.verify("""
            long double step1(long double x)
            {
                return 4*x-x*x;
            }
>       """)

testing/cffi0/test_verify.py:195: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________ test_all_integer_and_float_types _______________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x802478a9x5491b1e6.o'
src = 'testing/cffi0/__pycache__/_cffi__x802478a9x5491b1e6.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x802478a9x5491b1e6.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x802478a9x5491b1e6.o'
src = 'testing/cffi0/__pycache__/_cffi__x802478a9x5491b1e6.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_all_integer_and_float_types():
        typenames = []
        for typename in all_primitive_types:
            if (all_primitive_types[typename] == 'c' or
                all_primitive_types[typename] == 'j' or    # complex
                typename == '_Bool' or typename == 'long double'):
                pass
            else:
                typenames.append(typename)
        #
        ffi = FFI()
        ffi.cdef('\n'.join(["%s foo_%s(%s);" % (tp, tp.replace(' ', '_'), tp)
                           for tp in typenames]))
        lib = ffi.verify('\n'.join(["%s foo_%s(%s x) { return (%s)(x+1); }" %
                                    (tp, tp.replace(' ', '_'), tp, tp)
>                                   for tp in typenames]))

testing/cffi0/test_verify.py:266: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_var_signed_integer_types _________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xdcf4f20cx12254ce4.o'
src = 'testing/cffi0/__pycache__/_cffi__xdcf4f20cx12254ce4.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xdcf4f20cx12254ce4.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xdcf4f20cx12254ce4.o'
src = 'testing/cffi0/__pycache__/_cffi__xdcf4f20cx12254ce4.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_var_signed_integer_types():
        ffi = FFI()
        lst = all_signed_integer_types(ffi)
        csource = "\n".join(["static %s somevar_%s;" % (tp, tp.replace(' ', '_'))
                             for tp in lst])
        ffi.cdef(csource)
>       lib = ffi.verify(csource)

testing/cffi0/test_verify.py:292: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________ test_var_unsigned_integer_types ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd19885c6x917ffa25.o'
src = 'testing/cffi0/__pycache__/_cffi__xd19885c6x917ffa25.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xd19885c6x917ffa25.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd19885c6x917ffa25.o'
src = 'testing/cffi0/__pycache__/_cffi__xd19885c6x917ffa25.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_var_unsigned_integer_types():
        ffi = FFI()
        lst = all_unsigned_integer_types(ffi)
        csource = "\n".join(["static %s somevar_%s;" % (tp, tp.replace(' ', '_'))
                             for tp in lst])
        ffi.cdef(csource)
>       lib = ffi.verify(csource)

testing/cffi0/test_verify.py:311: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_________________________ test_fn_signed_integer_types _________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb824a352x3fcf359d.o'
src = 'testing/cffi0/__pycache__/_cffi__xb824a352x3fcf359d.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xb824a352x3fcf359d.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb824a352x3fcf359d.o'
src = 'testing/cffi0/__pycache__/_cffi__xb824a352x3fcf359d.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_fn_signed_integer_types():
        ffi = FFI()
        lst = all_signed_integer_types(ffi)
        cdefsrc = "\n".join(["%s somefn_%s(%s);" % (tp, tp.replace(' ', '_'), tp)
                             for tp in lst])
        ffi.cdef(cdefsrc)
        verifysrc = "\n".join(["%s somefn_%s(%s x) { return x; }" %
                               (tp, tp.replace(' ', '_'), tp) for tp in lst])
>       lib = ffi.verify(verifysrc)

testing/cffi0/test_verify.py:334: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_fn_unsigned_integer_types ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x74b4982dxc5c028f2.o'
src = 'testing/cffi0/__pycache__/_cffi__x74b4982dxc5c028f2.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x74b4982dxc5c028f2.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x74b4982dxc5c028f2.o'
src = 'testing/cffi0/__pycache__/_cffi__x74b4982dxc5c028f2.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_fn_unsigned_integer_types():
        ffi = FFI()
        lst = all_unsigned_integer_types(ffi)
        cdefsrc = "\n".join(["%s somefn_%s(%s);" % (tp, tp.replace(' ', '_'), tp)
                             for tp in lst])
        ffi.cdef(cdefsrc)
        verifysrc = "\n".join(["%s somefn_%s(%s x) { return x; }" %
                               (tp, tp.replace(' ', '_'), tp) for tp in lst])
>       lib = ffi.verify(verifysrc)

testing/cffi0/test_verify.py:354: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________________ test_char_type ________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x528ce6e0x3aed1183.o'
src = 'testing/cffi0/__pycache__/_cffi__x528ce6e0x3aed1183.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x528ce6e0x3aed1183.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x528ce6e0x3aed1183.o'
src = 'testing/cffi0/__pycache__/_cffi__x528ce6e0x3aed1183.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_char_type():
        ffi = FFI()
        ffi.cdef("char foo(char);")
>       lib = ffi.verify("char foo(char x) { return ++x; }")

testing/cffi0/test_verify.py:371: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________________ test_wchar_type ________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x2d9872e4xe74dc5c5.o'
src = 'testing/cffi0/__pycache__/_cffi__x2d9872e4xe74dc5c5.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x2d9872e4xe74dc5c5.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x2d9872e4xe74dc5c5.o'
src = 'testing/cffi0/__pycache__/_cffi__x2d9872e4xe74dc5c5.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_wchar_type():
        ffi = FFI()
        if ffi.sizeof('wchar_t') == 2:
            uniexample1 = u+'\u1234'
            uniexample2 = u+'\u1235'
        else:
            uniexample1 = u+'\U00012345'
            uniexample2 = u+'\U00012346'
        #
        ffi.cdef("wchar_t foo(wchar_t);")
>       lib = ffi.verify("wchar_t foo(wchar_t x) { return x+1; }")

testing/cffi0/test_verify.py:386: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________________ test_no_argument _______________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x920f5972x4844afe5.o'
src = 'testing/cffi0/__pycache__/_cffi__x920f5972x4844afe5.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x920f5972x4844afe5.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x920f5972x4844afe5.o'
src = 'testing/cffi0/__pycache__/_cffi__x920f5972x4844afe5.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_no_argument():
        ffi = FFI()
        ffi.cdef("int foo(void);")
>       lib = ffi.verify("int foo(void) { return 42; }")

testing/cffi0/test_verify.py:396: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
______________________________ test_two_arguments ______________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb19fed7cx9da3c617.o'
src = 'testing/cffi0/__pycache__/_cffi__xb19fed7cx9da3c617.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xb19fed7cx9da3c617.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xb19fed7cx9da3c617.o'
src = 'testing/cffi0/__pycache__/_cffi__xb19fed7cx9da3c617.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_two_arguments():
        ffi = FFI()
        ffi.cdef("int foo(int, int);")
>       lib = ffi.verify("int foo(int a, int b) { return a - b; }")

testing/cffi0/test_verify.py:402: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________________ test_macro __________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x205a7b69x225edc62.o'
src = 'testing/cffi0/__pycache__/_cffi__x205a7b69x225edc62.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x205a7b69x225edc62.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x205a7b69x225edc62.o'
src = 'testing/cffi0/__pycache__/_cffi__x205a7b69x225edc62.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_macro():
        ffi = FFI()
        ffi.cdef("int foo(int, int);")
>       lib = ffi.verify("#define foo(a, b) ((a) * (b))")

testing/cffi0/test_verify.py:408: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________________ test_ptr ___________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.o'
src = 'testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.o'
src = 'testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_ptr():
        ffi = FFI()
        ffi.cdef("int *foo(int *);")
>       lib = ffi.verify("int *foo(int *a) { return a; }")

testing/cffi0/test_verify.py:414: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________________ test_bogus_ptr ________________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.o'
src = 'testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.o'
src = 'testing/cffi0/__pycache__/_cffi__xcb48f0aax3ae084a7.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_bogus_ptr():
        ffi = FFI()
        ffi.cdef("int *foo(int *);")
>       lib = ffi.verify("int *foo(int *a) { return a; }")

testing/cffi0/test_verify.py:424: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_____________________________ test_nondecl_struct ______________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x4b39ef1dxbf5d553c.o'
src = 'testing/cffi0/__pycache__/_cffi__x4b39ef1dxbf5d553c.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x4b39ef1dxbf5d553c.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x4b39ef1dxbf5d553c.o'
src = 'testing/cffi0/__pycache__/_cffi__x4b39ef1dxbf5d553c.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_nondecl_struct():
        ffi = FFI()
        ffi.cdef("typedef struct foo_s foo_t; int bar(foo_t *);")
>       lib = ffi.verify("typedef struct foo_s foo_t;\n"
                         "int bar(foo_t *f) { (void)f; return 42; }\n")

testing/cffi0/test_verify.py:444: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_____________________________ test_ffi_full_struct _____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x387b6b43xe67eba0c.o'
src = 'testing/cffi0/__pycache__/_cffi__x387b6b43xe67eba0c.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x387b6b43xe67eba0c.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x387b6b43xe67eba0c.o'
src = 'testing/cffi0/__pycache__/_cffi__x387b6b43xe67eba0c.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_ffi_full_struct():
        ffi = FFI()
        ffi.cdef("struct foo_s { char x; int y; long *z; };")
>       ffi.verify("struct foo_s { char x; int y; long *z; };")

testing/cffi0/test_verify.py:451: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_ffi_nonfull_struct ____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd2edc2e6x463d2afa.o'
src = 'testing/cffi0/__pycache__/_cffi__xd2edc2e6x463d2afa.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xd2edc2e6x463d2afa.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd2edc2e6x463d2afa.o'
src = 'testing/cffi0/__pycache__/_cffi__xd2edc2e6x463d2afa.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_ffi_nonfull_struct():
        ffi = FFI()
        ffi.cdef("""
        struct foo_s {
           int x;
           ...;
        };
        """)
        py.test.raises(VerificationMissing, ffi.sizeof, 'struct foo_s')
        py.test.raises(VerificationMissing, ffi.offsetof, 'struct foo_s', 'x')
        py.test.raises(VerificationMissing, ffi.new, 'struct foo_s *')
        ffi.verify("""
        struct foo_s {
           int a, b, x, c, d, e;
        };
>       """)

testing/cffi0/test_verify.py:500: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_ffi_nonfull_alignment __________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xc071f231x317715b2.o'
src = 'testing/cffi0/__pycache__/_cffi__xc071f231x317715b2.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xc071f231x317715b2.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xc071f231x317715b2.o'
src = 'testing/cffi0/__pycache__/_cffi__xc071f231x317715b2.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_ffi_nonfull_alignment():
        ffi = FFI()
        ffi.cdef("struct foo_s { char x; ...; };")
>       ffi.verify("struct foo_s { int a, b; char x; };")

testing/cffi0/test_verify.py:507: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_struct_bad_sized_integer _________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x45b4e336xeb0439f7.o'
src = 'testing/cffi0/__pycache__/_cffi__x45b4e336xeb0439f7.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x45b4e336xeb0439f7.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x45b4e336xeb0439f7.o'
src = 'testing/cffi0/__pycache__/_cffi__x45b4e336xeb0439f7.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

typename = 'int8_t', real = 'int8_t', expect_mismatch = False

    def _check_field_match(typename, real, expect_mismatch):
        ffi = FFI()
        testing_by_size = (expect_mismatch == 'by_size')
        if testing_by_size:
            expect_mismatch = ffi.sizeof(typename) != ffi.sizeof(real)
        ffi.cdef("struct foo_s { %s x; ...; };" % typename)
        try:
>           ffi.verify("struct foo_s { %s x; };" % real)

testing/cffi0/test_verify.py:518: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
args = ('struct foo_s { int8_t x; };',), kwds = {}

    def verify(self, *args, **kwds):
        return super(FFI, self).verify(
>           *args, extra_compile_args=extra_compile_args, **kwds)

testing/cffi0/test_verify.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
source = 'struct foo_s { int8_t x; };'
tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
kwargs = {'extra_compile_args': ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']}
Verifier = 
_caller_dir_pycache = 

    def verify(self, source='', tmpdir=None, **kwargs):
        """Verify that the current ffi signatures compile on this
            machine, and return a dynamic library object.  The dynamic
            library can be used to call functions and access global
            variables declared in this 'ffi'.  The library is compiled
            by the C compiler: it gives you C-level API compatibility
            (including calling macros).  This is unlike 'ffi.dlopen()',
            which requires binary compatibility in the signatures.
            """
        from .verifier import Verifier, _caller_dir_pycache
        #
        # If set_unicode(True) was called, insert the UNICODE and
        # _UNICODE macro declarations
        if self._windows_unicode:
            self._apply_windows_unicode(kwargs)
        #
        # Set the tmpdir here, and not in Verifier.__init__: it picks
        # up the caller's directory, which we want to be the caller of
        # ffi.verify(), as opposed to the caller of Veritier().
        tmpdir = tmpdir or _caller_dir_pycache()
        #
        # Make a Verifier() and use it to load the library.
        self.verifier = Verifier(self, source, tmpdir, **kwargs)
>       lib = self.verifier.load_library()

cffi/api.py:464: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def load_library(self):
        """Get a C module from this Verifier instance.
            Returns an instance of a FFILibrary class that behaves like the
            objects returned by ffi.dlopen(), but that delegates all
            operations to the C module.  If necessary, the C code is written
            and compiled first.
            """
        with self.ffi._lock:
            if not self._has_module:
                self._locate_module()
                if not self._has_module:
                    if not self._has_source:
                        self._write_source()
>                   self._compile_module()

cffi/verifier.py:104: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _compile_module(self):
        # compile this C source
        tmpdir = os.path.dirname(self.sourcefilename)
>       outputfilename = ffiplatform.compile(tmpdir, self.get_extension())

cffi/verifier.py:201: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = None

    def compile(tmpdir, ext, compiler_verbose=0, debug=None):
        """Compile a C extension module using distutils."""
    
        _hack_at_distutils()
        saved_environ = os.environ.copy()
        try:
>           outputfilename = _build(tmpdir, ext, compiler_verbose, debug)

cffi/ffiplatform.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError

During handling of the above exception, another exception occurred:

    def test_struct_bad_sized_integer():
        for typename in ['int8_t', 'int16_t', 'int32_t', 'int64_t']:
            for real in ['int8_t', 'int16_t', 'int32_t', 'int64_t']:
>               _check_field_match(typename, real, "by_size")

testing/cffi0/test_verify.py:535: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

typename = 'int8_t', real = 'int8_t', expect_mismatch = False

    def _check_field_match(typename, real, expect_mismatch):
        ffi = FFI()
        testing_by_size = (expect_mismatch == 'by_size')
        if testing_by_size:
            expect_mismatch = ffi.sizeof(typename) != ffi.sizeof(real)
        ffi.cdef("struct foo_s { %s x; ...; };" % typename)
        try:
            ffi.verify("struct foo_s { %s x; };" % real)
        except VerificationError:
            if not expect_mismatch:
                if testing_by_size and typename != real:
                    print("ignoring mismatch between %s* and %s* even though "
                          "they have the same size" % (typename, real))
                    return
                raise AssertionError("unexpected mismatch: %s should be accepted "
>                                    "as equal to %s" % (typename, real))
E               AssertionError: unexpected mismatch: int8_t should be accepted as equal to int8_t

testing/cffi0/test_verify.py:526: AssertionError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_________________________ test_struct_bad_sized_float __________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x9131da16x63600d6b.o'
src = 'testing/cffi0/__pycache__/_cffi__x9131da16x63600d6b.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x9131da16x63600d6b.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x9131da16x63600d6b.o'
src = 'testing/cffi0/__pycache__/_cffi__x9131da16x63600d6b.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

typename = 'double', real = 'double', expect_mismatch = False

    def _check_field_match(typename, real, expect_mismatch):
        ffi = FFI()
        testing_by_size = (expect_mismatch == 'by_size')
        if testing_by_size:
            expect_mismatch = ffi.sizeof(typename) != ffi.sizeof(real)
        ffi.cdef("struct foo_s { %s x; ...; };" % typename)
        try:
>           ffi.verify("struct foo_s { %s x; };" % real)

testing/cffi0/test_verify.py:518: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
args = ('struct foo_s { double x; };',), kwds = {}

    def verify(self, *args, **kwds):
        return super(FFI, self).verify(
>           *args, extra_compile_args=extra_compile_args, **kwds)

testing/cffi0/test_verify.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
source = 'struct foo_s { double x; };'
tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
kwargs = {'extra_compile_args': ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']}
Verifier = 
_caller_dir_pycache = 

    def verify(self, source='', tmpdir=None, **kwargs):
        """Verify that the current ffi signatures compile on this
            machine, and return a dynamic library object.  The dynamic
            library can be used to call functions and access global
            variables declared in this 'ffi'.  The library is compiled
            by the C compiler: it gives you C-level API compatibility
            (including calling macros).  This is unlike 'ffi.dlopen()',
            which requires binary compatibility in the signatures.
            """
        from .verifier import Verifier, _caller_dir_pycache
        #
        # If set_unicode(True) was called, insert the UNICODE and
        # _UNICODE macro declarations
        if self._windows_unicode:
            self._apply_windows_unicode(kwargs)
        #
        # Set the tmpdir here, and not in Verifier.__init__: it picks
        # up the caller's directory, which we want to be the caller of
        # ffi.verify(), as opposed to the caller of Veritier().
        tmpdir = tmpdir or _caller_dir_pycache()
        #
        # Make a Verifier() and use it to load the library.
        self.verifier = Verifier(self, source, tmpdir, **kwargs)
>       lib = self.verifier.load_library()

cffi/api.py:464: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def load_library(self):
        """Get a C module from this Verifier instance.
            Returns an instance of a FFILibrary class that behaves like the
            objects returned by ffi.dlopen(), but that delegates all
            operations to the C module.  If necessary, the C code is written
            and compiled first.
            """
        with self.ffi._lock:
            if not self._has_module:
                self._locate_module()
                if not self._has_module:
                    if not self._has_source:
                        self._write_source()
>                   self._compile_module()

cffi/verifier.py:104: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _compile_module(self):
        # compile this C source
        tmpdir = os.path.dirname(self.sourcefilename)
>       outputfilename = ffiplatform.compile(tmpdir, self.get_extension())

cffi/verifier.py:201: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = None

    def compile(tmpdir, ext, compiler_verbose=0, debug=None):
        """Compile a C extension module using distutils."""
    
        _hack_at_distutils()
        saved_environ = os.environ.copy()
        try:
>           outputfilename = _build(tmpdir, ext, compiler_verbose, debug)

cffi/ffiplatform.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError

During handling of the above exception, another exception occurred:

    def test_struct_bad_sized_float():
        for typename in all_float_types:
            for real in all_float_types:
>               _check_field_match(typename, real, "by_size")

testing/cffi0/test_verify.py:540: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

typename = 'double', real = 'double', expect_mismatch = False

    def _check_field_match(typename, real, expect_mismatch):
        ffi = FFI()
        testing_by_size = (expect_mismatch == 'by_size')
        if testing_by_size:
            expect_mismatch = ffi.sizeof(typename) != ffi.sizeof(real)
        ffi.cdef("struct foo_s { %s x; ...; };" % typename)
        try:
            ffi.verify("struct foo_s { %s x; };" % real)
        except VerificationError:
            if not expect_mismatch:
                if testing_by_size and typename != real:
                    print("ignoring mismatch between %s* and %s* even though "
                          "they have the same size" % (typename, real))
                    return
                raise AssertionError("unexpected mismatch: %s should be accepted "
>                                    "as equal to %s" % (typename, real))
E               AssertionError: unexpected mismatch: double should be accepted as equal to double

testing/cffi0/test_verify.py:526: AssertionError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_struct_signedness_ignored ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3b363e2axe6c9b8d0.o'
src = 'testing/cffi0/__pycache__/_cffi__x3b363e2axe6c9b8d0.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x3b363e2axe6c9b8d0.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3b363e2axe6c9b8d0.o'
src = 'testing/cffi0/__pycache__/_cffi__x3b363e2axe6c9b8d0.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

typename = 'int', real = 'unsigned int', expect_mismatch = False

    def _check_field_match(typename, real, expect_mismatch):
        ffi = FFI()
        testing_by_size = (expect_mismatch == 'by_size')
        if testing_by_size:
            expect_mismatch = ffi.sizeof(typename) != ffi.sizeof(real)
        ffi.cdef("struct foo_s { %s x; ...; };" % typename)
        try:
>           ffi.verify("struct foo_s { %s x; };" % real)

testing/cffi0/test_verify.py:518: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
args = ('struct foo_s { unsigned int x; };',), kwds = {}

    def verify(self, *args, **kwds):
        return super(FFI, self).verify(
>           *args, extra_compile_args=extra_compile_args, **kwds)

testing/cffi0/test_verify.py:30: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
source = 'struct foo_s { unsigned int x; };'
tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
kwargs = {'extra_compile_args': ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']}
Verifier = 
_caller_dir_pycache = 

    def verify(self, source='', tmpdir=None, **kwargs):
        """Verify that the current ffi signatures compile on this
            machine, and return a dynamic library object.  The dynamic
            library can be used to call functions and access global
            variables declared in this 'ffi'.  The library is compiled
            by the C compiler: it gives you C-level API compatibility
            (including calling macros).  This is unlike 'ffi.dlopen()',
            which requires binary compatibility in the signatures.
            """
        from .verifier import Verifier, _caller_dir_pycache
        #
        # If set_unicode(True) was called, insert the UNICODE and
        # _UNICODE macro declarations
        if self._windows_unicode:
            self._apply_windows_unicode(kwargs)
        #
        # Set the tmpdir here, and not in Verifier.__init__: it picks
        # up the caller's directory, which we want to be the caller of
        # ffi.verify(), as opposed to the caller of Veritier().
        tmpdir = tmpdir or _caller_dir_pycache()
        #
        # Make a Verifier() and use it to load the library.
        self.verifier = Verifier(self, source, tmpdir, **kwargs)
>       lib = self.verifier.load_library()

cffi/api.py:464: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def load_library(self):
        """Get a C module from this Verifier instance.
            Returns an instance of a FFILibrary class that behaves like the
            objects returned by ffi.dlopen(), but that delegates all
            operations to the C module.  If necessary, the C code is written
            and compiled first.
            """
        with self.ffi._lock:
            if not self._has_module:
                self._locate_module()
                if not self._has_module:
                    if not self._has_source:
                        self._write_source()
>                   self._compile_module()

cffi/verifier.py:104: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _compile_module(self):
        # compile this C source
        tmpdir = os.path.dirname(self.sourcefilename)
>       outputfilename = ffiplatform.compile(tmpdir, self.get_extension())

cffi/verifier.py:201: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = None

    def compile(tmpdir, ext, compiler_verbose=0, debug=None):
        """Compile a C extension module using distutils."""
    
        _hack_at_distutils()
        saved_environ = os.environ.copy()
        try:
>           outputfilename = _build(tmpdir, ext, compiler_verbose, debug)

cffi/ffiplatform.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError

During handling of the above exception, another exception occurred:

    def test_struct_signedness_ignored():
>       _check_field_match("int", "unsigned int", expect_mismatch=False)

testing/cffi0/test_verify.py:543: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

typename = 'int', real = 'unsigned int', expect_mismatch = False

    def _check_field_match(typename, real, expect_mismatch):
        ffi = FFI()
        testing_by_size = (expect_mismatch == 'by_size')
        if testing_by_size:
            expect_mismatch = ffi.sizeof(typename) != ffi.sizeof(real)
        ffi.cdef("struct foo_s { %s x; ...; };" % typename)
        try:
            ffi.verify("struct foo_s { %s x; };" % real)
        except VerificationError:
            if not expect_mismatch:
                if testing_by_size and typename != real:
                    print("ignoring mismatch between %s* and %s* even though "
                          "they have the same size" % (typename, real))
                    return
                raise AssertionError("unexpected mismatch: %s should be accepted "
>                                    "as equal to %s" % (typename, real))
E               AssertionError: unexpected mismatch: int should be accepted as equal to unsigned int

testing/cffi0/test_verify.py:526: AssertionError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_struct_array_field ____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x9ba66899x1d4d0b2e.o'
src = 'testing/cffi0/__pycache__/_cffi__x9ba66899x1d4d0b2e.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x9ba66899x1d4d0b2e.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x9ba66899x1d4d0b2e.o'
src = 'testing/cffi0/__pycache__/_cffi__x9ba66899x1d4d0b2e.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_array_field():
        ffi = FFI()
        ffi.cdef("struct foo_s { int a[17]; ...; };")
>       ffi.verify("struct foo_s { int x; int a[17]; int y; };")

testing/cffi0/test_verify.py:560: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_________________________ test_struct_array_no_length __________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x188a5a58x584737b3.o'
src = 'testing/cffi0/__pycache__/_cffi__x188a5a58x584737b3.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x188a5a58x584737b3.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x188a5a58x584737b3.o'
src = 'testing/cffi0/__pycache__/_cffi__x188a5a58x584737b3.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_array_no_length():
        ffi = FFI()
        ffi.cdef("struct foo_s { int a[]; int y; ...; };\n"
                 "int bar(struct foo_s *);\n")
>       lib = ffi.verify("struct foo_s { int x; int a[17]; int y; };\n"
                         "int bar(struct foo_s *f) { return f->a[14]; }\n")

testing/cffi0/test_verify.py:569: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_struct_array_guess_length ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x1dac22fcxe3814cb3.o'
src = 'testing/cffi0/__pycache__/_cffi__x1dac22fcxe3814cb3.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x1dac22fcxe3814cb3.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x1dac22fcxe3814cb3.o'
src = 'testing/cffi0/__pycache__/_cffi__x1dac22fcxe3814cb3.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_array_guess_length():
        ffi = FFI()
        ffi.cdef("struct foo_s { int a[...]; };")
>       ffi.verify("struct foo_s { int x; int a[17]; int y; };")

testing/cffi0/test_verify.py:590: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_struct_array_c99_1 ____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x41e4be81xecf76d6e.o'
src = 'testing/cffi0/__pycache__/_cffi__x41e4be81xecf76d6e.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x41e4be81xecf76d6e.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x41e4be81xecf76d6e.o'
src = 'testing/cffi0/__pycache__/_cffi__x41e4be81xecf76d6e.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_array_c99_1():
        if sys.platform == 'win32':
            py.test.skip("requires C99")
        ffi = FFI()
        ffi.cdef("struct foo_s { int x; int a[]; };")
>       ffi.verify("struct foo_s { int x; int a[]; };")

testing/cffi0/test_verify.py:602: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
___________________________ test_struct_array_c99_2 ____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3d7bb802x1b770445.o'
src = 'testing/cffi0/__pycache__/_cffi__x3d7bb802x1b770445.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__x3d7bb802x1b770445.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x3d7bb802x1b770445.o'
src = 'testing/cffi0/__pycache__/_cffi__x3d7bb802x1b770445.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_array_c99_2():
        if sys.platform == 'win32':
            py.test.skip("requires C99")
        ffi = FFI()
        ffi.cdef("struct foo_s { int x; int a[]; ...; };")
>       ffi.verify("struct foo_s { int x, y; int a[]; };")

testing/cffi0/test_verify.py:625: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_struct_ptr_to_array_field ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd201fd0cx9d054617.o'
src = 'testing/cffi0/__pycache__/_cffi__xd201fd0cx9d054617.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xd201fd0cx9d054617.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xd201fd0cx9d054617.o'
src = 'testing/cffi0/__pycache__/_cffi__xd201fd0cx9d054617.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_ptr_to_array_field():
        ffi = FFI()
        ffi.cdef("struct foo_s { int (*a)[17]; ...; }; struct bar_s { ...; };")
>       ffi.verify("struct foo_s { int x; int (*a)[17]; int y; };\n"
                   "struct bar_s { int x; int *a; int y; };")

testing/cffi0/test_verify.py:641: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
_______________________ test_struct_with_bitfield_exact ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xf76b41adx61034946.o'
src = 'testing/cffi0/__pycache__/_cffi__xf76b41adx61034946.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xf76b41adx61034946.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xf76b41adx61034946.o'
src = 'testing/cffi0/__pycache__/_cffi__xf76b41adx61034946.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_with_bitfield_exact():
        ffi = FFI()
        ffi.cdef("struct foo_s { int a:2, b:3; };")
>       ffi.verify("struct foo_s { int a:2, b:3; };")

testing/cffi0/test_verify.py:650: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
________________________ test_struct_with_bitfield_enum ________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xf07e80b1x457c63de.o'
src = 'testing/cffi0/__pycache__/_cffi__xf07e80b1x457c63de.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xf07e80b1x457c63de.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xf07e80b1x457c63de.o'
src = 'testing/cffi0/__pycache__/_cffi__xf07e80b1x457c63de.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_struct_with_bitfield_enum():
        ffi = FFI()
        code = """
            typedef enum { AA, BB, CC } foo_e;
            typedef struct { foo_e f:2; } foo_s;
        """
        ffi.cdef(code)
>       ffi.verify(code)

testing/cffi0/test_verify.py:664: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
____________________________ test_global_constants _____________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xbea9bb57xdbe7ec82.o'
src = 'testing/cffi0/__pycache__/_cffi__xbea9bb57xdbe7ec82.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death
        cmd = list(cmd)
        if os.name == 'posix':
>           _spawn_posix(cmd, search_path, dry_run=dry_run)

/usr/local/lib/python3.7/distutils/spawn.py:36: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = 'cc', search_path = 1, verbose = 0, dry_run = 0

    def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
        log.info(' '.join(cmd))
        if dry_run:
            return
        executable = cmd[0]
        exec_fn = search_path and os.execvp or os.execv
        env = None
        if sys.platform == 'darwin':
            global _cfg_target, _cfg_target_split
            if _cfg_target is None:
                _cfg_target = sysconfig.get_config_var(
                                      'MACOSX_DEPLOYMENT_TARGET') or ''
                if _cfg_target:
                    _cfg_target_split = [int(x) for x in _cfg_target.split('.')]
            if _cfg_target:
                # ensure that the deployment target of build process is not less
                # than that used when the interpreter was built. This ensures
                # extension modules are built with correct compatibility values
                cur_target = os.environ.get('MACOSX_DEPLOYMENT_TARGET', _cfg_target)
                if _cfg_target_split > [int(x) for x in cur_target.split('.')]:
                    my_msg = ('$MACOSX_DEPLOYMENT_TARGET mismatch: '
                              'now "%s" but "%s" during configure'
                                    % (cur_target, _cfg_target))
                    raise DistutilsPlatformError(my_msg)
                env = dict(os.environ,
                           MACOSX_DEPLOYMENT_TARGET=cur_target)
                exec_fn = search_path and os.execvpe or os.execve
        pid = os.fork()
        if pid == 0: # in the child
            try:
                if env is None:
                    exec_fn(executable, cmd)
                else:
                    exec_fn(executable, cmd, env)
            except OSError as e:
                if not DEBUG:
                    cmd = executable
                sys.stderr.write("unable to execute %r: %s\n"
                                 % (cmd, e.strerror))
                os._exit(1)
    
            if not DEBUG:
                cmd = executable
            sys.stderr.write("unable to execute %r for unknown reasons" % cmd)
            os._exit(1)
        else: # in the parent
            # Loop until the child either exits or is terminated by a signal
            # (ie. keep waiting if it's merely stopped)
            while True:
                try:
                    pid, status = os.waitpid(pid, 0)
                except OSError as exc:
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r failed: %s" % (cmd, exc.args[-1]))
                if os.WIFSIGNALED(status):
                    if not DEBUG:
                        cmd = executable
                    raise DistutilsExecError(
                          "command %r terminated by signal %d"
                          % (cmd, os.WTERMSIG(status)))
                elif os.WIFEXITED(status):
                    exit_status = os.WEXITSTATUS(status)
                    if exit_status == 0:
                        return   # hey, it succeeded!
                    else:
                        if not DEBUG:
                            cmd = executable
                        raise DistutilsExecError(
                              "command %r failed with exit status %d"
>                             % (cmd, exit_status))
E                       distutils.errors.DistutilsExecError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/spawn.py:159: DistutilsExecError

During handling of the above exception, another exception occurred:

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
>               dist.run_command('build_ext')

cffi/ffiplatform.py:51: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
command = 'build_ext'

    def run_command(self, command):
        """Do whatever it takes to run a command (including nothing at all,
            if the command has already been run).  Specifically: if we have
            already created and run the command named by 'command', return
            silently without doing anything.  If the command named by 'command'
            doesn't even have a command object yet, create one.  Then invoke
            'run()' on that command object (or an existing one).
            """
        # Already been here, done that? then return silently.
        if self.have_run.get(command):
            return
    
        log.info("running %s", command)
        cmd_obj = self.get_command_obj(command)
        cmd_obj.ensure_finalized()
>       cmd_obj.run()

/usr/local/lib/python3.7/distutils/dist.py:985: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def run(self):
        from distutils.ccompiler import new_compiler
    
        # 'self.extensions', as supplied by setup.py, is a list of
        # Extension instances.  See the documentation for Extension (in
        # distutils.extension) for details.
        #
        # For backwards compatibility with Distutils 0.8.2 and earlier, we
        # also allow the 'extensions' list to be a list of tuples:
        #    (ext_name, build_info)
        # where build_info is a dictionary containing everything that
        # Extension instances do except the name, with a few things being
        # differently named.  We convert these 2-tuples to Extension
        # instances as needed.
    
        if not self.extensions:
            return
    
        # If we were asked to build any C/C++ libraries, make sure that the
        # directory where we put them is in the library search path for
        # linking extensions.
        if self.distribution.has_c_libraries():
            build_clib = self.get_finalized_command('build_clib')
            self.libraries.extend(build_clib.get_library_names() or [])
            self.library_dirs.append(build_clib.build_clib)
    
        # Setup the CCompiler object that we'll use to do all the
        # compiling and linking
        self.compiler = new_compiler(compiler=self.compiler,
                                     verbose=self.verbose,
                                     dry_run=self.dry_run,
                                     force=self.force)
        customize_compiler(self.compiler)
        # If we are cross-compiling, init the compiler now (if we are not
        # cross-compiling, init would not hurt, but people may rely on
        # late initialization of compiler even if they shouldn't...)
        if os.name == 'nt' and self.plat_name != get_platform():
            self.compiler.initialize(self.plat_name)
    
        # And make sure that any compile/link-related options (which might
        # come from the command-line or from the setup script) are set in
        # that CCompiler object -- that way, they automatically apply to
        # all compiling and linking done here.
        if self.include_dirs is not None:
            self.compiler.set_include_dirs(self.include_dirs)
        if self.define is not None:
            # 'define' option is a list of (name,value) tuples
            for (name, value) in self.define:
                self.compiler.define_macro(name, value)
        if self.undef is not None:
            for macro in self.undef:
                self.compiler.undefine_macro(macro)
        if self.libraries is not None:
            self.compiler.set_libraries(self.libraries)
        if self.library_dirs is not None:
            self.compiler.set_library_dirs(self.library_dirs)
        if self.rpath is not None:
            self.compiler.set_runtime_library_dirs(self.rpath)
        if self.link_objects is not None:
            self.compiler.set_link_objects(self.link_objects)
    
        # Now actually compile and link everything.
>       self.build_extensions()

/usr/local/lib/python3.7/distutils/command/build_ext.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def build_extensions(self):
        # First, sanity-check the 'extensions' list
        self.check_extensions_list(self.extensions)
        if self.parallel:
            self._build_extensions_parallel()
        else:
>           self._build_extensions_serial()

/usr/local/lib/python3.7/distutils/command/build_ext.py:449: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _build_extensions_serial(self):
        for ext in self.extensions:
            with self._filter_build_errors(ext):
>               self.build_extension(ext)

/usr/local/lib/python3.7/distutils/command/build_ext.py:474: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
ext = 

    def build_extension(self, ext):
        sources = ext.sources
        if sources is None or not isinstance(sources, (list, tuple)):
            raise DistutilsSetupError(
                  "in 'ext_modules' option (extension '%s'), "
                  "'sources' must be present and must be "
                  "a list of source filenames" % ext.name)
        sources = list(sources)
    
        ext_path = self.get_ext_fullpath(ext.name)
        depends = sources + ext.depends
        if not (self.force or newer_group(depends, ext_path, 'newer')):
            log.debug("skipping '%s' extension (up-to-date)", ext.name)
            return
        else:
            log.info("building '%s' extension", ext.name)
    
        # First, scan the sources for SWIG definition files (.i), run
        # SWIG on 'em to create .c files, and modify the sources list
        # accordingly.
        sources = self.swig_sources(sources, ext)
    
        # Next, compile the source code to object files.
    
        # XXX not honouring 'define_macros' or 'undef_macros' -- the
        # CCompiler API needs to change to accommodate this, and I
        # want to do one thing at a time!
    
        # Two possible sources for extra compiler arguments:
        #   - 'extra_compile_args' in Extension object
        #   - CFLAGS environment variable (not particularly
        #     elegant, but people seem to expect it and I
        #     guess it's useful)
        # The environment variable should take precedence, and
        # any sensible compiler will give precedence to later
        # command line args.  Hence we combine them in order:
        extra_args = ext.extra_compile_args or []
    
        macros = ext.define_macros[:]
        for undef in ext.undef_macros:
            macros.append((undef,))
    
        objects = self.compiler.compile(sources,
                                         output_dir=self.build_temp,
                                         macros=macros,
                                         include_dirs=ext.include_dirs,
                                         debug=self.debug,
                                         extra_postargs=extra_args,
>                                        depends=ext.depends)

/usr/local/lib/python3.7/distutils/command/build_ext.py:534: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
sources = ['testing/cffi0/__pycache__/_cffi__xbea9bb57xdbe7ec82.c']
output_dir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
macros = [], include_dirs = [], debug = 0, extra_preargs = None
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
depends = []

    def compile(self, sources, output_dir=None, macros=None,
                include_dirs=None, debug=0, extra_preargs=None,
                extra_postargs=None, depends=None):
        """Compile one or more source files.
    
            'sources' must be a list of filenames, most likely C/C++
            files, but in reality anything that can be handled by a
            particular compiler and compiler class (eg. MSVCCompiler can
            handle resource files in 'sources').  Return a list of object
            filenames, one per source filename in 'sources'.  Depending on
            the implementation, not all source files will necessarily be
            compiled, but all corresponding object filenames will be
            returned.
    
            If 'output_dir' is given, object files will be put under it, while
            retaining their original path component.  That is, "foo/bar.c"
            normally compiles to "foo/bar.o" (for a Unix implementation); if
            'output_dir' is "build", then it would compile to
            "build/foo/bar.o".
    
            'macros', if given, must be a list of macro definitions.  A macro
            definition is either a (name, value) 2-tuple or a (name,) 1-tuple.
            The former defines a macro; if the value is None, the macro is
            defined without an explicit value.  The 1-tuple case undefines a
            macro.  Later definitions/redefinitions/ undefinitions take
            precedence.
    
            'include_dirs', if given, must be a list of strings, the
            directories to add to the default include file search path for this
            compilation only.
    
            'debug' is a boolean; if true, the compiler will be instructed to
            output debug symbols in (or alongside) the object file(s).
    
            'extra_preargs' and 'extra_postargs' are implementation- dependent.
            On platforms that have the notion of a command-line (e.g. Unix,
            DOS/Windows), they are most likely lists of strings: extra
            command-line arguments to prepand/append to the compiler command
            line.  On other platforms, consult the implementation class
            documentation.  In any event, they are intended as an escape hatch
            for those occasions when the abstract compiler framework doesn't
            cut the mustard.
    
            'depends', if given, is a list of filenames that all targets
            depend on.  If a source file is older than any file in
            depends, then the source file will be recompiled.  This
            supports dependency tracking, but only at a coarse
            granularity.
    
            Raises CompileError on failure.
            """
        # A concrete compiler class can either override this method
        # entirely or implement _compile().
        macros, objects, extra_postargs, pp_opts, build = \
                self._setup_compile(output_dir, macros, include_dirs, sources,
                                    depends, extra_postargs)
        cc_args = self._get_cc_args(pp_opts, debug, extra_preargs)
    
        for obj in objects:
            try:
                src, ext = build[obj]
            except KeyError:
                continue
>           self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)

/usr/local/lib/python3.7/distutils/ccompiler.py:574: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__xbea9bb57xdbe7ec82.o'
src = 'testing/cffi0/__pycache__/_cffi__xbea9bb57xdbe7ec82.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
                       extra_postargs)
        except DistutilsExecError as msg:
>           raise CompileError(msg)
E           distutils.errors.CompileError: command 'cc' failed with exit status 1

/usr/local/lib/python3.7/distutils/unixccompiler.py:120: CompileError

During handling of the above exception, another exception occurred:

    def test_global_constants():
        ffi = FFI()
        # use 'static const int', as generally documented, although in this
        # case the 'static' is completely ignored.
        ffi.cdef("static const int AA, BB, CC, DD;")
>       lib = ffi.verify("#define AA 42\n"
                         "#define BB (-43)   // blah\n"
                         "#define CC (22*2)  /* foobar */\n"
                         "#define DD ((unsigned int)142)  /* foo\nbar */\n")

testing/cffi0/test_verify.py:679: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
testing/cffi0/test_verify.py:30: in verify
    *args, extra_compile_args=extra_compile_args, **kwds)
cffi/api.py:464: in verify
    lib = self.verifier.load_library()
cffi/verifier.py:104: in load_library
    self._compile_module()
cffi/verifier.py:201: in _compile_module
    outputfilename = ffiplatform.compile(tmpdir, self.get_extension())
cffi/ffiplatform.py:22: in compile
    outputfilename = _build(tmpdir, ext, compiler_verbose, debug)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

tmpdir = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__'
ext = 
compiler_verbose = 0, debug = 0

    def _build(tmpdir, ext, compiler_verbose=0, debug=None):
        # XXX compact but horrible :-(
        from distutils.core import Distribution
        import distutils.errors, distutils.log
        #
        dist = Distribution({'ext_modules': [ext]})
        dist.parse_config_files()
        options = dist.get_option_dict('build_ext')
        if debug is None:
            debug = sys.flags.debug
        options['debug'] = ('ffiplatform', debug)
        options['force'] = ('ffiplatform', True)
        options['build_lib'] = ('ffiplatform', tmpdir)
        options['build_temp'] = ('ffiplatform', tmpdir)
        #
        try:
            old_level = distutils.log.set_threshold(0) or 0
            try:
                distutils.log.set_verbosity(compiler_verbose)
                dist.run_command('build_ext')
                cmd_obj = dist.get_command_obj('build_ext')
                [soname] = cmd_obj.get_outputs()
            finally:
                distutils.log.set_threshold(old_level)
        except (distutils.errors.CompileError,
                distutils.errors.LinkError) as e:
>           raise VerificationError('%s: %s' % (e.__class__.__name__, e))
E           cffi.VerificationError: CompileError: command 'cc' failed with exit status 1

cffi/ffiplatform.py:58: VerificationError
----------------------------- Captured stderr call -----------------------------
error: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Werror,-Wunknown-warning-option]
__________________________ test_global_const_int_size __________________________

self = 
obj = '/magus/work/usr/mports/devel/py-cffi/work-py37/cffi-1.13.2/testing/cffi0/__pycache__/testing/cffi0/__pycache__/_cffi__x9426cb1exd983e65.o'
src = 'testing/cffi0/__pycache__/_cffi__x9426cb1exd983e65.c', ext = '.c'
cc_args = ['-I/usr/local/include/python3.7m', '-c']
extra_postargs = ['-Werror', '-Wall', '-Wextra', '-Wconversion', '-Wno-unused-parameter']
pp_opts = ['-I/usr/local/include/python3.7m']

    def _compile(self, obj, src, ext, cc_args, extra_postargs, pp_opts):
        compiler_so = self.compiler_so
        if sys.platform == 'darwin':
            compiler_so = _osx_support.compiler_fixup(compiler_so,
                                                    cc_args + extra_postargs)
        try:
            self.spawn(compiler_so + cc_args + [src, '-o', obj] +
>                      extra_postargs)

/usr/local/lib/python3.7/distutils/unixccompiler.py:118: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 
cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]

    def spawn(self, cmd):
>       spawn(cmd, dry_run=self.dry_run)

/usr/local/lib/python3.7/distutils/ccompiler.py:910: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

cmd = ['cc', '-Wno-unused-result', '-Wsign-compare', '-Wunreachable-code', '-DNDEBUG', '-O2', ...]
search_path = 1, verbose = 0, dry_run = 0

    def spawn(cmd, search_path=1, verbose=0, dry_run=0):
        """Run another program, specified as a command list 'cmd', in a new process.
    
        'cmd' is just the argument list for the new process, ie.
        cmd[0] is the program to run and cmd[1:] are the rest of its arguments.
        There is no way to run a program with a name different from that of its
        executable.
    
        If 'search_path' is true (the default), the system's executable
        search path will be used to find the program; otherwise, cmd[0]
        must be the exact path to the executable.  If 'dry_run' is true,
        the command will not actually be run.
    
        Raise DistutilsExecError if running the program fails in any way; just
        return on success.
        """
        # cmd is documented as a list, but just in case some code passes a tuple
        # in, protect our %-formatting code against horrible death