Upgrading HASS venv from 0.91.4 to 0.92.2-Upgrade failed-Cryptography issue

Just attempted the above using my usual procedure and upgrade failed. This is the output of the upgrade log. The first time I tried the upgrade the log suggested upgrading pip version which I did correctly

You are using pip version 19.0.3, however version 19.1 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.

After the second attempt upgrading heres the output relating to cryptography errors. Has anything changed in the last two weeks that might be causing this issue and what I could do to overcome it.

Building wheels for collected packages: cryptography
Building wheel for cryptography (PEP 517) … error
ERROR: Complete output from command /srv/homeassistant/bin/python3 /srv/homeassistant/lib/python3.5/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmptoa8mhbr:
ERROR: running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.5
creating build/lib.linux-armv7l-3.5/cryptography
copying src/cryptography/init.py -> build/lib.linux-armv7l-3.5/cryptography
copying src/cryptography/about.py -> build/lib.linux-armv7l-3.5/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.5/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.5/cryptography
copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.5/cryptography
creating build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/init.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.5/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.5/cryptography/x509
creating build/lib.linux-armv7l-3.5/cryptography/hazmat
copying src/cryptography/hazmat/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/mac.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/bindings
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/serialization
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/bindings/openssl
creating build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/backends/openssl
running egg_info
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing src/cryptography.egg-info/PKG-INFO
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file ‘src/cryptography.egg-info/SOURCES.txt’
reading manifest template ‘MANIFEST.in’
no previously-included directories found matching ‘docs/_build’
warning: no previously-included files matching ‘*’ found under directory ‘vectors’
writing manifest file ‘src/cryptography.egg-info/SOURCES.txt’
running build_ext
generating cffi module ‘build/temp.linux-armv7l-3.5/_padding.c’
creating build/temp.linux-armv7l-3.5
generating cffi module ‘build/temp.linux-armv7l-3.5/_constant_time.c’
generating cffi module ‘build/temp.linux-armv7l-3.5/_openssl.c’
building ‘_openssl’ extension
creating build/temp.linux-armv7l-3.5/build
creating build/temp.linux-armv7l-3.5/build/temp.linux-armv7l-3.5
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/srv/homeassistant/include -I/usr/include/python3.5m -c build/temp.linux-armv7l-3.5/_openssl.c -o build/temp.linux-armv7l-3.5/build/temp.linux-armv7l-3.5/_openssl.o -Wconversion -Wno-error=sign-conversion
build/temp.linux-armv7l-3.5/_openssl.c:498:30: fatal error: openssl/opensslv.h: No such file or directory
#include <openssl/opensslv.h>
^
compilation terminated.
error: command ‘arm-linux-gnueabihf-gcc’ failed with exit status 1

ERROR: Failed building wheel for cryptography
Running setup.py clean for cryptography
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

From research in another thread, try sudo apt-get install libssl-dev

Yes I tried that earlier after upgrading my version of pip. Not sure which worked but the upgrade proceeded as planned.

I took an iso image of the sd card so I’m going to try the upgrade without the pip upgrade and see if this works.

If so I’ll do a quick write up in copy/paste format for others to follow who are upgrading in the venv environment.

I tried to follow an earlier post with a number of different solutions but the “that works for me” responses are not actually saying which solution works.

Thanks for that!!!

The complaint about the version of pip is just because the latest is not packaged for that OS distribution. There is no harm in upgrading pip or not.

Yes the successful upgrade didn’t depend on a pip upgrade but I upgraded pip anyway.

Just to confirm what I needed to do was install sudo apt-get install libssl-dev in the home folder of Raspbian before proceeding with the upgrade.

@anon34565116 well spotted and that saved many hours of troubleshooting.

I just looked at the latest docs for manual install on a Raspberry Pi and they seem to have changed somewhat since I original did my first install.

1 Like

A while back when I was running a venv when an upgrade broke, I found some documented z-wave dependencies I was missing all of a sudden.
We do not necessarily know when the documentation is updated and, at times, the documentation is not updated to match the current release. I think Devs are focusing more on the Docker & Hassio installs because they then have more control over the OS environment.

Am I correct in assuming that if I went the HassIO route I’d be restricted in what platforms I could add to my system.

I’ve just read back on the forum since the release of 0.92 and quite a few users have struggled upgrading similar to myself.

I am not sure I understand the question.
Hassio has some docker-based addons to make things easy but, as far as I know, any platform addon supported by Home Assistant should work in Hassio, especially since they are forcing custom components to have proper manifests…

I get this error too, and I did install the libssl-dev as my pi user (with sudo)
I followed some old instruction to install the venv on my RPi
The installation is made in the directory /srv/homeassistant
So I tried to rename that directory and the /home/homeassistant/.homeassistant
And then I tried to follow the same old venv doc and I get the same result with a this clean install.

I then moved the original directories back, and the HA starts up without any problem. But when I try to upgrade I get the following

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting homeassistant
Using cached https://files.pythonhosted.org/packages/23/e3/fd04c8462343ef5794970edf3985568fb825c324271f18b64008d81e43d3/homeassistant-0.93.1-py3-none-any.whl
Requirement already satisfied, skipping upgrade: aiohttp==3.5.4 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (3.5.4)
Collecting python-slugify==3.0.2 (from homeassistant)
Using cached https://files.pythonhosted.org/packages/c1/19/c3cf1dc65e89aa999f85a4a3a4924ccac765a6964b405d487b7b7c8bb39f/python-slugify-3.0.2.tar.gz
Requirement already satisfied, skipping upgrade: async-timeout==3.0.1 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (3.0.1)
Collecting PyJWT==1.7.1 (from homeassistant)
Using cached https://files.pythonhosted.org/packages/87/8b/6a9f14b5f781697e51259d81657e6048fd31a113229cf346880bb7545565/PyJWT-1.7.1-py2.py3-none-any.whl
Collecting pytz>=2019.01 (from homeassistant)
Using cached https://files.pythonhosted.org/packages/3d/73/fe30c2daaaa0713420d0382b16fbb761409f532c56bdcc514bf7b6262bb6/pytz-2019.1-py2.py3-none-any.whl
Requirement already satisfied, skipping upgrade: astral==1.10.1 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (1.10.1)
Collecting ruamel.yaml==0.15.94 (from homeassistant)
Downloading https://files.pythonhosted.org/packages/24/f1/1adcf396711d3c9c30b67a5c850cfb64afbccd41d7d85adf87732e4b156f/ruamel.yaml-0.15.94.tar.gz (312kB)
|████████████████████████████████| 317kB 4.3MB/s
Collecting attrs==19.1.0 (from homeassistant)
Using cached https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied, skipping upgrade: bcrypt==3.1.6 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (3.1.6)
Collecting cryptography==2.6.1 (from homeassistant)
Using cached https://files.pythonhosted.org/packages/07/ca/bc827c5e55918ad223d59d299fff92f3563476c3b00d0a9157d9c0217449/cryptography-2.6.1.tar.gz
Installing build dependencies … error
ERROR: Complete output from command /srv/homeassistant/bin/python3 /srv/homeassistant/lib/python3.5/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-e4rnlab6/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple – ‘setuptools>=18.5’ wheel ‘cffi>=1.8,!=1.11.3; python_implementation != ‘"’"‘PyPy’"’"’’:
ERROR: Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple, https://www.piwheels.org/simple
Collecting setuptools>=18.5
Using cached https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl
Collecting wheel
Using cached https://files.pythonhosted.org/packages/bb/10/44230dd6bf3563b8f227dbf344c908d412ad2ff48066476672f3a72e174e/wheel-0.33.4-py2.py3-none-any.whl
Collecting cffi!=1.11.3,>=1.8
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ProtocolError(‘Connection aborted.’, RemoteDisconnected(‘Remote end closed connection without response’,))’: /simple/cffi/
Using cached https://files.pythonhosted.org/packages/93/1a/ab8c62b5838722f29f3daffcc8d4bd61844aa9b5f437341cc890ceee483b/cffi-1.12.3.tar.gz
Collecting pycparser (from cffi!=1.11.3,>=1.8)
Using cached https://www.piwheels.org/simple/pycparser/pycparser-2.19-py2.py3-none-any.whl
Building wheels for collected packages: cffi
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status ‘error’
ERROR: Complete output from command /srv/homeassistant/bin/python3 -u -c ‘import setuptools, tokenize;file=’"’"’/tmp/pip-install-8j_0gw52/cffi/setup.py’"’"’;f=getattr(tokenize, ‘"’"‘open’"’"’, open)(file);code=f.read().replace(’"’"’\r\n’"’"’, ‘"’"’\n’"’"’);f.close();exec(compile(code, file, ‘"’"‘exec’"’"’))’ bdist_wheel -d /tmp/pip-wheel-rg5rwmz9 --python-tag cp35:
ERROR: 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-armv7l-3.5 creating build/lib.linux-armv7l-3.5/cffi copying cffi/cparser.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/commontypes.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/lock.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/verifier.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/model.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/__init__.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/api.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/recompiler.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/error.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.5/cffi copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.5/cffi copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.5/cffi copying cffi/_embedding.h -> build/lib.linux-armv7l-3.5/cffi copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.5/cffi running build_ext building '_cffi_backend' extension creating build/temp.linux-armv7l-3.5 creating build/temp.linux-armv7l-3.5/c arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.5m -I/srv/homeassistant/include/python3.5m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.5/c/_cffi_backend.o c/_cffi_backend.c:15:17: fatal error: ffi.h: Filen eller katalogen finns inte #include <ffi.h> ^ compilation terminated. error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1 ---------------------------------------- ERROR: Failed building wheel for cffi Running setup.py clean for cffi Failed to build cffi Installing collected packages: setuptools, wheel, pycparser, cffi Running setup.py install for cffi: started Running setup.py install for cffi: finished with status 'error' ERROR: Complete output from command /srv/homeassistant/bin/python3 -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-8j_0gw52/cffi/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-soyymfei/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-e4rnlab6/overlay --compile --install-headers /srv/homeassistant/include/site/python3.5/cffi: ERROR: 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-armv7l-3.5
creating build/lib.linux-armv7l-3.5/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/init.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.5/cffi
running build_ext
building ‘_cffi_backend’ extension
creating build/temp.linux-armv7l-3.5
creating build/temp.linux-armv7l-3.5/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.5m -I/srv/homeassistant/include/python3.5m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.5/c/_cffi_backend.o
c/_cffi_backend.c:15:17: fatal error: ffi.h: Filen eller katalogen finns inte
#include <ffi.h>
^
compilation terminated.
error: command ‘arm-linux-gnueabihf-gcc’ failed with exit status 1
----------------------------------------
ERROR: Command “/srv/homeassistant/bin/python3 -u -c ‘import setuptools, tokenize;file=’”’"’/tmp/pip-install-8j_0gw52/cffi/setup.py’"’"’;f=getattr(tokenize, ‘"’"‘open’"’"’, open)(file);code=f.read().replace(’"’"’\r\n’"’"’, ‘"’"’\n’"’"’);f.close();exec(compile(code, file, ‘"’"‘exec’"’"’))’ install --record /tmp/pip-record-soyymfei/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-e4rnlab6/overlay --compile --install-headers /srv/homeassistant/include/site/python3.5/cffi" failed with error code 1 in /tmp/pip-install-8j_0gw52/cffi/

ERROR: Command “/srv/homeassistant/bin/python3 /srv/homeassistant/lib/python3.5/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-e4rnlab6/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple --extra-index-url https://www.piwheels.org/simple – ‘setuptools>=18.5’ wheel 'cffi>=1.8,!=1.11.3; python_implementation != '”’"‘PyPy’"’"’’" failed with error code 1 in None

Anyone that have any clue?

///Peter!

So, the error clearly says libffi is missing.
What did you do to try & resolve that?

Not OP, but installing libffi-dev as described here (stackexchange) solved this error message when upgrading 0.91.3 to 0.93.2.

Thanks for pointing me in the right direction btw! I still find it hard to find the important part of long error messages