I have been running into this the last couple days and I am trying to understand what I need to change in my CI environment.
My CI environment has not changed and everything that went into master is stuff I have run through my CI, so I am trying to figure out what happened here. It is like we got a new dependency on 'gcc' which we didn't have before. The installation of Marvin has not changed, it is currently set as: pip install --upgrade tools/marvin/dist/Marvin-*.tar.gz --allow-external mysql-connector-python Installing Marvin DEPRECATION: --allow-external has been deprecated and will be removed in the future. Due to changes in the repository protocol, it no longer has any effect. Processing ./tools/marvin/dist/Marvin-4.9.0-SNAPSHOT.tar.gz Requirement already up-to-date: mysql-connector-python>=1.1.6 in /usr/lib/python2.7/site-packages (from Marvin===4.9.0-SNAPSHOT) Collecting requests>=2.2.1 (from Marvin===4.9.0-SNAPSHOT) Downloading requests-2.10.0-py2.py3-none-any.whl (506kB) 100% |████████████████████████████████| 512kB 1.8MB/s Collecting paramiko>=1.13.0 (from Marvin===4.9.0-SNAPSHOT) Downloading paramiko-2.0.0-py2.py3-none-any.whl (170kB) 100% |████████████████████████████████| 174kB 3.2MB/s Requirement already up-to-date: nose>=1.3.3 in /usr/lib/python2.7/site-packages/nose-1.3.7-py2.7.egg (from Marvin===4.9.0-SNAPSHOT) Collecting ddt>=0.4.0 (from Marvin===4.9.0-SNAPSHOT) Downloading ddt-1.0.1-py2.py3-none-any.whl Collecting pyvmomi>=5.5.0 (from Marvin===4.9.0-SNAPSHOT) Downloading pyvmomi-6.0.0.2016.4.tar.gz (216kB) 100% |████████████████████████████████| 225kB 3.4MB/s Collecting netaddr>=0.7.14 (from Marvin===4.9.0-SNAPSHOT) Downloading netaddr-0.7.18-py2.py3-none-any.whl (1.5MB) 100% |████████████████████████████████| 1.5MB 605kB/s Collecting pyasn1>=0.1.7 (from paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading pyasn1-0.1.9-py2.py3-none-any.whl Collecting cryptography>=1.1 (from paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading cryptography-1.3.1.tar.gz (383kB) 100% |████████████████████████████████| 389kB 1.1MB/s Collecting six>=1.7.3 (from pyvmomi>=5.5.0->Marvin===4.9.0-SNAPSHOT) Downloading six-1.10.0-py2.py3-none-any.whl Collecting idna>=2.0 (from cryptography>=1.1->paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading idna-2.1-py2.py3-none-any.whl (54kB) 100% |████████████████████████████████| 61kB 3.0MB/s Collecting setuptools>=11.3 (from cryptography>=1.1->paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading setuptools-21.0.0-py2.py3-none-any.whl (509kB) 100% |████████████████████████████████| 512kB 1.0MB/s Collecting enum34 (from cryptography>=1.1->paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading enum34-1.1.4-py2.py3-none-any.whl (61kB) 100% |████████████████████████████████| 61kB 2.7MB/s Collecting ipaddress (from cryptography>=1.1->paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading ipaddress-1.0.16-py27-none-any.whl Collecting cffi>=1.4.1 (from cryptography>=1.1->paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading cffi-1.6.0.tar.gz (397kB) 100% |████████████████████████████████| 399kB 1.8MB/s Collecting pycparser (from cffi>=1.4.1->cryptography>=1.1->paramiko>=1.13.0->Marvin===4.9.0-SNAPSHOT) Downloading pycparser-2.14.tar.gz (223kB) 100% |████████████████████████████████| 225kB 1.9MB/s Building wheels for collected packages: Marvin, pyvmomi, cryptography, cffi, pycparser Running setup.py bdist_wheel for Marvin ... done Stored in directory: /root/.cache/pip/wheels/7f/5a/37/7f723796f0a05b8f4a5eb63ebe90f381663e638e7556f46916 Running setup.py bdist_wheel for pyvmomi ... done Stored in directory: /root/.cache/pip/wheels/b8/4a/84/b57aa91d338fdb54c766ef9d3c4b8d7c7a9f6b0da53e7b112d Running setup.py bdist_wheel for cryptography ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ViZ0L8/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmp878XjXpip-wheel- --python-tag cp27: Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory #include <ffi.h> ^ compilation terminated. Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-ViZ0L8/cryptography/setup.py", line 335, in <module> **keywords_with_side_effects(sys.argv) File "/usr/lib64/python2.7/distutils/core.py", line 112, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 265, in __init__ self.fetch_build_eggs(attrs.pop('setup_requires')) File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 289, in fetch_build_eggs parse_requirements(requires), installer=self.fetch_build_egg File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve dist = best[req.key] = env.best_match(req, self, installer) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match return self.obtain(req, installer) # try and download/install File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain return installer(requirement) File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 339, in fetch_build_egg return cmd.easy_install(req) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 653, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 849, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1130, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for cryptography Running setup.py clean for cryptography Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ViZ0L8/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" clean --all: Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory #include <ffi.h> ^ compilation terminated. Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-ViZ0L8/cryptography/setup.py", line 335, in <module> **keywords_with_side_effects(sys.argv) File "/usr/lib64/python2.7/distutils/core.py", line 112, in setup _setup_distribution = dist = klass(attrs) File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 265, in __init__ self.fetch_build_eggs(attrs.pop('setup_requires')) File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 289, in fetch_build_eggs parse_requirements(requires), installer=self.fetch_build_egg File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve dist = best[req.key] = env.best_match(req, self, installer) File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match return self.obtain(req, installer) # try and download/install File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain return installer(requirement) File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 339, in fetch_build_egg return cmd.easy_install(req) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 653, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 849, in install_eggs return self.build_and_install(setup_script, setup_base) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1130, in build_and_install self.run_setup(setup_script, setup_base, args) File "/usr/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1 ---------------------------------------- Failed cleaning build dir for cryptography Running setup.py bdist_wheel for cffi ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ViZ0L8/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpGEqcgrpip-wheel- --python-tag cp27: Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/cffi copying cffi/api.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/gc_weakref.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/lock.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/model.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-2.7/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-2.7/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-2.7/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/c gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory #include <ffi.h> ^ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- Failed building wheel for cffi Running setup.py clean for cffi Running setup.py bdist_wheel for pycparser ... done Stored in directory: /root/.cache/pip/wheels/9b/f4/2e/d03e949a551719a1ffcb659f2c63d8444f4df12e994ce52112 Successfully built Marvin pyvmomi pycparser Failed to build cryptography cffi Installing collected packages: requests, pyasn1, idna, six, setuptools, enum34, ipaddress, pycparser, cffi, cryptography, paramiko, ddt, pyvmomi, netaddr, Marvin Found existing installation: requests 2.6.0 DEPRECATION: Uninstalling a distutils installed project (requests) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project. Uninstalling requests-2.6.0: Successfully uninstalled requests-2.6.0 Found existing installation: six 1.9.0 Uninstalling six-1.9.0: Successfully uninstalled six-1.9.0 Found existing installation: setuptools 0.9.8 Uninstalling setuptools-0.9.8: Successfully uninstalled setuptools-0.9.8 Running setup.py install for cffi ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ViZ0L8/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-101ssp-record/install-record.txt --single-version-externally-managed --compile: Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found Package libffi was not found in the pkg-config search path. Perhaps you should add the directory containing `libffi.pc' to the PKG_CONFIG_PATH environment variable No package 'libffi' found running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/cffi copying cffi/api.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/recompiler.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/__init__.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/commontypes.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/cparser.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/vengine_cpy.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/gc_weakref.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/backend_ctypes.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/lock.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/verifier.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/vengine_gen.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/ffiplatform.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/cffi_opcode.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/setuptools_ext.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/model.py -> build/lib.linux-x86_64-2.7/cffi copying cffi/_cffi_include.h -> build/lib.linux-x86_64-2.7/cffi copying cffi/parse_c_type.h -> build/lib.linux-x86_64-2.7/cffi copying cffi/_embedding.h -> build/lib.linux-x86_64-2.7/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/c gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DUSE__THREAD -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-x86_64-2.7/c/_cffi_backend.o c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory #include <ffi.h> ^ compilation terminated. error: command 'gcc' failed with exit status 1 ---------------------------------------- Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-ViZ0L8/cffi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-101ssp-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-ViZ0L8/cffi/