Hi Will, For me it is solved by installing two packages; did you pull this pr? We fixed it in cosmic and ported it to the cloudstack config as well.
https://github.com/MissionCriticalCloud/bubble-toolkit/pull/123/files Regards, Remi Sent from my iPhone > On 03 May 2016, at 19:25, Will Stevens <williamstev...@gmail.com> wrote: > > It looks like we now have a dependency on 'python-cffi', but the following > does not help. > > $ sudo yum install python-cffi > > Ideas? > > On Tue, May 3, 2016 at 1:18 PM, Will Stevens <williamstev...@gmail.com> > wrote: > >> 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/ >> >>