mikozak/airpurifier2mqtt

Error building docker image

Opened this issue · 3 comments

mann1x commented

I get an error while trying to build the docker image, output below.

Tried to use the image in docker hub: jheipmann/airpurifier2mqtt

But it doesn't start and I see in the log the following error:

exec /usr/local/bin/python: exec format error

Docker build output:

`
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/

Sending build context to Docker daemon 295.4kB
Step 1/9 : FROM python:3.8-alpine3.12
3.8-alpine3.12: Pulling from library/python
339de151aab4: Pull complete
a860e27ad689: Pull complete
910a9a405b4b: Pull complete
bde2ad12a253: Pull complete
c6c8e9f0153d: Pull complete
Digest: sha256:9d617fdd463125ba48e0c619719b4499e6829e5f99382283f32c44ec3580919b
Status: Downloaded newer image for python:3.8-alpine3.12
---> c1ddef08cac5
Step 2/9 : RUN apk add --update alpine-sdk glib-dev rust curl cargo openssl-dev libffi-dev
---> Running in 3988a82bee7f
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/85) Upgrading libcrypto1.1 (1.1.1k-r0 -> 1.1.1o-r0)
(2/85) Upgrading libssl1.1 (1.1.1k-r0 -> 1.1.1o-r0)
(3/85) Upgrading libuuid (2.35.2-r0 -> 2.37.4-r0)
(4/85) Upgrading zlib (1.2.11-r3 -> 1.2.12-r3)
(5/85) Installing fakeroot (1.24-r0)
(6/85) Installing openssl (1.1.1o-r0)
(7/85) Installing libattr (2.4.48-r0)
(8/85) Installing attr (2.4.48-r0)
(9/85) Installing libacl (2.2.53-r0)
(10/85) Installing tar (1.32-r2)
(11/85) Installing pkgconf (1.7.2-r0)
(12/85) Installing patch (2.7.6-r7)
(13/85) Installing libgcc (9.3.0-r2)
(14/85) Installing libstdc++ (9.3.0-r2)
(15/85) Installing lzip (1.21-r0)
(16/85) Installing nghttp2-libs (1.41.0-r0)
(17/85) Installing libcurl (7.79.1-r1)
(18/85) Installing curl (7.79.1-r1)
(19/85) Installing abuild (3.6.0-r1)
Executing abuild-3.6.0-r1.pre-install
(20/85) Installing binutils (2.34-r2)
(21/85) Installing libmagic (5.38-r0)
(22/85) Installing file (5.38-r0)
(23/85) Installing gmp (6.2.1-r1)
(24/85) Installing isl (0.18-r0)
(25/85) Installing libgomp (9.3.0-r2)
(26/85) Installing libatomic (9.3.0-r2)
(27/85) Installing libgphobos (9.3.0-r2)
(28/85) Installing mpfr4 (4.0.2-r4)
(29/85) Installing mpc1 (1.1.0-r1)
(30/85) Installing gcc (9.3.0-r2)
(31/85) Installing musl-dev (1.1.24-r10)
(32/85) Installing libc-dev (0.7.2-r3)
(33/85) Installing g++ (9.3.0-r2)
(34/85) Installing make (4.3-r0)
(35/85) Installing fortify-headers (1.1-r0)
(36/85) Installing build-base (0.5-r2)
(37/85) Installing pcre2 (10.35-r0)
(38/85) Installing git (2.26.3-r1)
(39/85) Installing alpine-sdk (1.0-r0)
(40/85) Installing rust-stdlib (1.44.0-r0)
(41/85) Installing libxml2 (2.9.14-r0)
(42/85) Installing llvm10-libs (10.0.0-r2)
(43/85) Installing rust (1.44.0-r0)
(44/85) Installing libssh2 (1.9.0-r1)
(45/85) Installing libgit2 (1.0.0-r0)
(46/85) Installing cargo (1.44.0-r0)
(47/85) Installing python3 (3.8.10-r0)
(48/85) Installing gettext-asprintf (0.20.2-r0)
(49/85) Installing libunistring (0.9.10-r0)
(50/85) Installing gettext-libs (0.20.2-r0)
(51/85) Installing gettext (0.20.2-r0)
(52/85) Installing gettext-dev (0.20.2-r0)
(53/85) Installing bzip2-dev (1.0.8-r1)
(54/85) Installing libxml2-utils (2.9.14-r0)
(55/85) Installing libgpg-error (1.37-r0)
(56/85) Installing libgcrypt (1.8.8-r1)
(57/85) Installing libxslt (1.1.35-r0)
(58/85) Installing docbook-xml (4.5-r6)
Executing docbook-xml-4.5-r6.post-install
(59/85) Installing docbook-xsl (1.79.2-r2)
Executing docbook-xsl-1.79.2-r2.post-install
(60/85) Installing libblkid (2.37.4-r0)
(61/85) Installing libmount (2.37.4-r0)
(62/85) Installing pcre (8.44-r0)
(63/85) Installing glib (2.64.6-r0)
(64/85) Installing linux-headers (5.4.5-r1)
(65/85) Installing libffi-dev (3.3-r2)
(66/85) Installing libpcre16 (8.44-r0)
(67/85) Installing libpcre32 (8.44-r0)
(68/85) Installing libpcrecpp (8.44-r0)
(69/85) Installing pcre-dev (8.44-r0)
(70/85) Installing blkid (2.37.4-r0)
(71/85) Installing libcap-ng (0.7.10-r1)
(72/85) Installing setpriv (2.37.4-r0)
(73/85) Installing libsmartcols (2.37.4-r0)
(74/85) Installing findmnt (2.37.4-r0)
(75/85) Installing mcookie (2.37.4-r0)
(76/85) Installing hexdump (2.37.4-r0)
(77/85) Installing lsblk (2.37.4-r0)
(78/85) Installing libfdisk (2.37.4-r0)
(79/85) Installing sfdisk (2.37.4-r0)
(80/85) Installing cfdisk (2.37.4-r0)
(81/85) Installing util-linux (2.37.4-r0)
(82/85) Installing util-linux-dev (2.37.4-r0)
(83/85) Installing zlib-dev (1.2.12-r3)
(84/85) Installing glib-dev (2.64.6-r0)
(85/85) Installing openssl-dev (1.1.1o-r0)
Executing busybox-1.31.1-r20.trigger
Executing ca-certificates-20191127-r4.trigger
Executing glib-2.64.6-r0.trigger
No schema files found: doing nothing.
OK: 518 MiB in 116 packages
Removing intermediate container 3988a82bee7f
---> adb0fe5d60d6
Step 3/9 : RUN mkdir /airpurifier2mqtt
---> Running in 9d2db48f3b25
Removing intermediate container 9d2db48f3b25
---> 762eaebd7333
Step 4/9 : WORKDIR /airpurifier2mqtt
---> Running in f267a1d343c4
Removing intermediate container f267a1d343c4
---> 7315c024327f
Step 5/9 : ADD airpurifier2mqtt.py ./
---> f7acd14c8765
Step 6/9 : ADD requirements.txt ./
---> 08c2d032783a
Step 7/9 : VOLUME /data
---> Running in e7ce717147f8
Removing intermediate container e7ce717147f8
---> 08ab9e1bbaf3
Step 8/9 : RUN pip install --upgrade pip -r requirements.txt
---> Running in 822e048321f4
Requirement already satisfied: pip in /usr/local/lib/python3.8/site-packages (21.1.2)
Collecting pip
Downloading pip-23.1.2-py3-none-any.whl (2.1 MB)
Collecting websockets==8.1
Downloading websockets-8.1.tar.gz (58 kB)
Collecting hbmqtt==0.9.6
Downloading hbmqtt-0.9.6.tar.gz (74 kB)
Collecting dotmap==1.3.23
Downloading dotmap-1.3.23-py3-none-any.whl (10 kB)
Collecting python-miio==0.5.6
Downloading python_miio-0.5.6-py3-none-any.whl (268 kB)
Collecting transitions
Downloading transitions-0.9.0-py2.py3-none-any.whl (97 kB)
Collecting passlib
Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
Collecting docopt
Downloading docopt-0.6.2.tar.gz (25 kB)
Collecting pyyaml
Downloading PyYAML-6.0.tar.gz (124 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting croniter<1,>=0
Downloading croniter-0.3.37-py2.py3-none-any.whl (13 kB)
Collecting pyyaml
Downloading PyYAML-5.4.1.tar.gz (175 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting attrs
Downloading attrs-23.1.0-py3-none-any.whl (61 kB)
Collecting construct<3.0.0,>=2.10.56
Downloading construct-2.10.68.tar.gz (57 kB)
Collecting click<8,>=7
Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
Collecting netifaces<1,>=0
Downloading netifaces-0.11.0.tar.gz (30 kB)
Collecting appdirs<2,>=1
Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting zeroconf<1,>=0
Downloading zeroconf-0.62.0.tar.gz (141 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting cryptography<4,>=3
Downloading cryptography-3.4.8.tar.gz (546 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting android_backup<1,>=0
Downloading android_backup-0.2.0.tar.gz (6.1 kB)
Collecting tqdm<5,>=4
Downloading tqdm-4.65.0-py3-none-any.whl (77 kB)
Collecting pytz
Downloading pytz-2023.3-py2.py3-none-any.whl (502 kB)
Collecting defusedxml<0.7,>=0.6
Downloading defusedxml-0.6.0-py2.py3-none-any.whl (23 kB)
Collecting python-dateutil
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting natsort
Downloading natsort-8.3.1-py3-none-any.whl (38 kB)
Collecting cffi>=1.12
Using cached cffi-1.15.1-cp38-cp38-linux_x86_64.whl
Collecting pycparser
Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting ifaddr>=0.1.7
Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
Collecting async-timeout>=3.0.0
Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting six>=1.5
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: websockets, hbmqtt, android-backup, construct, cryptography, netifaces, pyyaml, zeroconf, docopt
Building wheel for websockets (setup.py): started
Building wheel for websockets (setup.py): finished with status 'done'
Created wheel for websockets: filename=websockets-8.1-cp38-cp38-linux_x86_64.whl size=65532 sha256=3a3e0510303c75304fbc5ba3de4294481327ba1d6b46035bc6f0e26975acb8e2
Stored in directory: /root/.cache/pip/wheels/6a/56/ca/2c56e60f30fb1b1975a721e8212bb751142c52b081073efdc9
Building wheel for hbmqtt (setup.py): started
Building wheel for hbmqtt (setup.py): finished with status 'done'
Created wheel for hbmqtt: filename=hbmqtt-0.9.6-py34.py35-none-any.whl size=75337 sha256=00f8b99d6a16347a9dd6901a644635dcb46f9e1ff80e6f21eebbb17929b17d18
Stored in directory: /root/.cache/pip/wheels/38/5a/79/644774c60e2194b3d231c8777a9c572fec7b46fc7cd9caeee7
Building wheel for android-backup (setup.py): started
Building wheel for android-backup (setup.py): finished with status 'done'
Created wheel for android-backup: filename=android_backup-0.2.0-py3-none-any.whl size=7632 sha256=7c2c39d938675b912c2ea14df38e8d8c689f3b3b5e95ddb2375f9f6b9ee8c465
Stored in directory: /root/.cache/pip/wheels/40/69/3e/8e9d3c7f87b25008bbaa200f7570ff8be203f69d6d3a81d6b5
Building wheel for construct (setup.py): started
Building wheel for construct (setup.py): finished with status 'done'
Created wheel for construct: filename=construct-2.10.68-py3-none-any.whl size=59226 sha256=90186c7ed81363cf4b004dcdbf9300c8e2a7635b78b08f73da6449f3f2ab11b5
Stored in directory: /root/.cache/pip/wheels/cf/58/27/8a7c57f4e85722ec338b53cef911ca3ebfe5e9f56c750532a2
Building wheel for cryptography (PEP 517): started
Building wheel for cryptography (PEP 517): finished with status 'error'
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp2922iqq3
cwd: /tmp/pip-install-m1eun27h/cryptography_03eedaf81bfb4330b4e626579f74ba4f
Complete output (159 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-38
creating build/lib.linux-x86_64-cpython-38/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-x86_64-cpython-38/cryptography
copying src/cryptography/about.py -> build/lib.linux-x86_64-cpython-38/cryptography
copying src/cryptography/utils.py -> build/lib.linux-x86_64-cpython-38/cryptography
copying src/cryptography/init.py -> build/lib.linux-x86_64-cpython-38/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-x86_64-cpython-38/cryptography
creating build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
copying src/cryptography/x509/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/x509
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat
copying src/cryptography/hazmat/_types.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat
copying src/cryptography/hazmat/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat
copying src/cryptography/hazmat/_der.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/bindings
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/backends/openssl
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/bindings/openssl
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/kdf
creating build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/init.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-x86_64-cpython-38/cryptography/hazmat/primitives/serialization
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
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 found matching 'vectors'
warning: no previously-included files matching '' found under directory 'vectors'
warning: no previously-included files matching '
' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'mypy.ini'
warning: no previously-included files matching '' found under directory '.zuul.d'
warning: no previously-included files matching '
' found under directory '.zuul.playbooks'
adding license file 'LICENSE'
adding license file 'LICENSE.APACHE'
adding license file 'LICENSE.BSD'
adding license file 'LICENSE.PSF'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-x86_64-cpython-38/cryptography
running build_ext
running build_rust
Updating crates.io index
error: failed to get pyo3 as a dependency of package cryptography-rust v0.1.0 (/tmp/pip-install-m1eun27h/cryptography_03eedaf81bfb4330b4e626579f74ba4f/src/rust)

Caused by:
failed to fetch https://github.com/rust-lang/crates.io-index

Caused by:
error reading from the zlib stream; class=Zlib (5)
[RUSTFLAGS=-Ctarget-feature=-crt-static] cargo rustc --lib --message-format=json-render-diagnostics --manifest-path src/rust/Cargo.toml --release -v --features pyo3/abi3-py36 pyo3/extension-module -- --crate-type cdylib

  =============================DEBUG ASSISTANCE=============================
  If you are seeing a compilation error please try the following steps to
  successfully install cryptography:
  1) Upgrade to the latest pip and try again. This will fix errors for most
     users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
  2) Read https://cryptography.io/en/latest/installation.html for specific
     instructions for your platform.
  3) Check our frequently asked questions for more information:
     https://cryptography.io/en/latest/faq.html
  4) Ensure you have a recent Rust toolchain installed:
     https://cryptography.io/en/latest/installation.html#rust
  5) If you are experiencing issues with Rust for *this release only* you may
     set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
  =============================DEBUG ASSISTANCE=============================

error: cargo rustc --lib --message-format=json-render-diagnostics --manifest-path src/rust/Cargo.toml --release -v --features 'pyo3/abi3-py36 pyo3/extension-module' -- --crate-type cdylib failed with code 101

ERROR: Failed building wheel for cryptography
Building wheel for netifaces (setup.py): started
Building wheel for netifaces (setup.py): finished with status 'done'
Created wheel for netifaces: filename=netifaces-0.11.0-cp38-cp38-linux_x86_64.whl size=13207 sha256=554a01e83b3dd18b1bc440cceb2ecc6bac7d2b2ecf1d21f5f27c4ab65c8972c6
Stored in directory: /root/.cache/pip/wheels/04/e2/b4/b811799a082cacaeff801af32c856fbefe6279ba96554d9a21
Building wheel for pyyaml (PEP 517): started
Building wheel for pyyaml (PEP 517): finished with status 'done'
Created wheel for pyyaml: filename=PyYAML-5.4.1-cp38-cp38-linux_x86_64.whl size=45656 sha256=533e266b8d186043ecb177687615cd40b64d6679957146718862a1834f8f2ac2
Stored in directory: /root/.cache/pip/wheels/dd/c5/1d/5d7436173d3efd4a14dcb510eb0b29525ecb6b0e41489e716e
Building wheel for zeroconf (PEP 517): started
Building wheel for zeroconf (PEP 517): finished with status 'done'
Created wheel for zeroconf: filename=zeroconf-0.62.0-cp38-cp38-musllinux_1_1_x86_64.whl size=871507 sha256=8604e73eb8d002db0891c2801933168c6c62f2ab1a47651dc4c8f0f013488488
Stored in directory: /root/.cache/pip/wheels/62/6c/06/c92d4edf5f6e336fac8c2d5311cf9ec371235076128e3d3ae7
Building wheel for docopt (setup.py): started
Building wheel for docopt (setup.py): finished with status 'done'
Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13724 sha256=c66ef4c8f26a57f3c035f2af1de634c22b9a14714b8f1de1a409db2522e5d06b
Stored in directory: /root/.cache/pip/wheels/56/ea/58/ead137b087d9e326852a851351d1debf4ada529b6ac0ec4e8c
Successfully built websockets hbmqtt android-backup construct netifaces pyyaml zeroconf docopt
Failed to build cryptography
ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.1.2; however, version 23.1.2 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
The command '/bin/sh -c pip install --upgrade pip -r requirements.txt' returned a non-zero code: 1

`

I haven't rebuild my docker image for a year or so (jheipmann/airpurifier2mqtt), so might be that the versioning of packages is outdated. Also: Are you building for ARM (Raspberry PI) or a different platform?

Anyway, as I am moving away from rpi as the docker host, I will need to rebuild the image. Will let you know my results but be aware I will not be able to spend much time on it, as in the meantime I am mostly using the direct HA integration.

OK, tested to build on amd64 and gotten it to successfully create the image by changing to python:alpine latest version plus bumping the version of python-miio to 0.5.12 (see my forked repository), but ended up with an incompatibility at running the container between hbmqtt and python 3.8. As hbmqtt is not longer maintained and I do not have the time or knowledge to rewrite the code to use an alternative mqtt library, I will need to leave it at that. As mentioned in the meantime I mainly use the miio integration of HA directly and for HomeKit support the home bridge native plugin, I can not further maintain the docker image and will take it down. I will leave the GitHub repo for reference.

mann1x commented

I understand, thanks for looking at it