Updating from 0.90.1 to 0.92.2 Problems under Raspbian Stretch

Hi guys, I am in trouble trying to update my Pi3 from 0.91.1 to 0.92.2 using a Pi3 and Raspbian Stretch.
I have have been updating the system with no problem at all, but this time something is wrong. I hope someone could help me to identify what should have to be done in order to update my system. Thanks for your help on this.
Below is the log after trying to update:

pi@hassbian:~ $ sudo -u homeassistant -H -s
homeassistant@hassbian:/home/pi $ source /srv/homeassistant/bin/activate
(homeassistant) homeassistant@hassbian:/home/pi $ pip3 install --upgrade homeassistant
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting homeassistant
  Using cached https://files.pythonhosted.org/packages/92/c8/cf2e3063087970f82fd5cfcdc05445d15ebe01de768e9becc4b77bcb4eeb/homeassistant-0.92.2-py3-none-any.whl
Requirement already satisfied, skipping upgrade: certifi>=2018.04.16 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2019.3.9)
Collecting ruamel.yaml==0.15.91 (from homeassistant)
  Downloading https://files.pythonhosted.org/packages/ad/0d/c9f94a393b9b8825accca0bc17afb6cbb7719e8601d26d06cbf7b21abfa3/ruamel.yaml-0.15.91.tar.gz (309kB)
     |β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ| 317kB 1.1MB/s
Requirement already satisfied, skipping upgrade: jinja2>=2.10 in /srv/homeassistant/lib/python3.5/site-packages (from homeassistant) (2.10)
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-o8pf34ih/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
    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-3s5i_jpj/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-r2k400xc --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/cffi_opcode.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/backend_ctypes.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/cparser.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/model.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/api.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/__init__.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.5/cffi
    copying cffi/commontypes.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/verifier.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/srv/homeassistant/include -I/usr/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: No such file or directory
     #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-3s5i_jpj/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-t52bzsf0/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-o8pf34ih/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/cffi_opcode.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/backend_ctypes.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/cparser.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/model.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/api.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/__init__.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.5/cffi
      copying cffi/commontypes.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/verifier.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/srv/homeassistant/include -I/usr/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: No such file or directory
       #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-3s5i_jpj/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-t52bzsf0/install-record.txt --single-version-externally-managed --prefix /tmp/pip-build-env-o8pf34ih/overlay --compile --install-headers /srv/homeassistant/include/site/python3.5/cffi" failed with error code 1 in /tmp/pip-install-3s5i_jpj/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-o8pf34ih/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
(homeassistant) homeassistant@hassbian:/home/pi $

Per the install instructions, did you install:

$ sudo apt-get install python3 python3-venv python3-pip libffi-dev libssl-dev

Specifically, libffi-dev?

2 Likes

Thanks for your fast reply.
No, I didn’t. Should I do it?
All my previous updates installed its dependecies and so on.
Sorry asking if I should do it, maybe you can think that I should already tried to do it, but I just have to be in the safe side since I don’t want to break my system. It is still working.

Well, actually, now I see that you say you’re using hassbian. I don’t use that. Just Stretch and a venv. I got that from the instructions for that kind of install. But it seems to be complaining that libffi is missing. So it might be worth a try.

I Installed Raspbian Lite Stretch, installing HA in a virtual environment over it. I believe that I induced you to think it is Hassbian, while is not. It just the name that I gave (should have given another). Hassbian is an image with HA already enbedded in Raspbian, being a one time install (I believe). Sorry for the confusion.
So, I will try it and will let you now in a minute. Thanks.

Installed with no errors at all. Then I should try to update again right?

Yes, that’s correct.

Done! Running 0.92.2!
Thank you very very much for your help. It can be easy for you but not so for us below the curve… :slight_smile: You made someone happy today. Thanks!

1 Like