Brewlox install failure

#1

Good day All,

I am having a problem when installing BrewBlox on a raspberry Pi. I am following the guide of the website, however when I issue the command brewblox-ctl install to start the process off, all appear to go well until it reaches the line "Building wheels for collected packages: Cryptography.
At this point the install script stalls with the error "

I have included the output from the terminal in a hope that you may be able to point out my error

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


Failed building wheel for cryptography
Running setup.py clean for cryptography
Failed to build cryptography
Installing collected packages: texttable, pynacl, pyasn1, bcrypt, cryptography, paramiko, docker, docker-compose
Found existing installation: pyasn1 0.1.9
Not uninstalling pyasn1 at /usr/lib/python3/dist-packages, outside environment /usr
Found existing installation: cryptography 1.7.1
Not uninstalling cryptography at /usr/lib/python3/dist-packages, outside environment /usr
Running setup.py install for cryptography … error
Complete output from command /usr/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-vt88aznd/cryptography/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-kffu7a7l-record/install-record.txt --single-version-externally-managed --compile:
running install
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/about.py -> build/lib.linux-armv7l-3.5/cryptography
copying src/cryptography/init.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/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat
copying src/cryptography/hazmat/init.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat
creating 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/general_name.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/extensions.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/init.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/ocsp.py -> build/lib.linux-armv7l-3.5/cryptography/x509
creating 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/constant_time.py -> 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/mac.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/cmac.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/keywrap.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives
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/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/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/utils.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
creating 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/ed448.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/init.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/x448.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/utils.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/rsa.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/asymmetric
creating 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
copying src/cryptography/hazmat/primitives/serialization/init.py -> 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
creating 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
copying src/cryptography/hazmat/primitives/ciphers/init.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/algorithms.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
creating 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/hkdf.py -> 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/pbkdf2.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
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.5/cryptography/hazmat/primitives/kdf
creating 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/x25519.py -> 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/ed448.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/ec.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/aead.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/encode_asn1.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/dh.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/x448.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/backend.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
copying src/cryptography/hazmat/backends/openssl/dsa.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
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
running egg_info
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing src/cryptography.egg-info/PKG-INFO
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/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

----------------------------------------

Can’t rollback cryptography, nothing uninstalled.
Command “/usr/bin/python3 -u -c “import setuptools, tokenize;file=’/tmp/pip-build-vt88aznd/cryptography/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-kffu7a7l-record/install-record.txt --single-version-externally-managed --compile” failed with error code 1 in /tmp/pip-build-vt88aznd/cryptography/

Error: Command ‘sudo /usr/bin/python3 -m pip install -U docker-compose’ returned non-zero exit status 1
pi@raspberrypi:~ $

Sorry if this is a bit messy but I could not see another way of doing it.

Regards

0 Likes

#2

Welcome to the forum!

This is a known issue, and something we’re busy fixing.

For now you can solve it by running the following command on your pi, and then restarting the installer

sudo apt install libffi-dev libssl-dev
0 Likes

#3

Thanks for the quick response. I have had another go at the installation and got much further. I received an error towards then end of the installation. I will try again this evening after reflashing the SD card to see if that will clear it. If not I will post the error text so that you may be able to look at it.

Regards

0 Likes

#4

I just pushed an updated version of brewblox-ctl, that fixes this bug. You can get it by using sudo pip3 install -U brewblox-ctl

Did you reboot your raspberry? It’s required after installing Docker, but it aborted the installation after it installed Docker, but before reboot.

0 Likes

#5

Once again thanks. I will give this a try from my home, where the internet runs at a more reasonable speed and with a clean install of the OS

0 Likes

#6

Managed to find time last evening to start over. Fresh install of the the OS and followed the step on the website. With decent internet the whole process completed in around 40 mins. I now have a working Brewblox install, now to build the hardware.

Many thanks for the assistance. one quick question - I have a spare photon dev board, can this be flashed with the firmwares and added to brewblox?

Regards

0 Likes

#7

The firmware expects to have some other chips on the board, like the OneWire bus master. It will not work without it.

0 Likes