alexanderhale / home-assistant

Home Assistant setup on a Nexus 7 tablet.
61 stars 2 forks source link

Error: Failed building wheel for cryptography #13

Open WoozieJuank opened 2 years ago

WoozieJuank commented 2 years ago

hello, I can't install HASS, after entering the command "pip install homeassistant", I can't install HASS. I get the following error with the package "Cryptographic".

Building wheel for cryptography (PEP 517) ... error ERROR: Command errored out with exit status 1: command: /data/data/com.termux/files/home/hass/bin/python /data/data/com.termux/files/home/hass/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /data/data/com.termux/files/usr/tmp/tmpb6ont2ml cwd: /data/data/com.termux/files/usr/tmp/pip-install-0f2hhqu0/cryptography_37749b35005d4696980d41c58dd10bc0 Complete output (170 lines): running bdist_wheel running build running build_py creating build creating build/lib.linux-armv7l-3.10 creating build/lib.linux-armv7l-3.10/cryptography copying src/cryptography/about.py -> build/lib.linux-armv7l-3.10/cryptography copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-3.10/cryptography copying src/cryptography/init.py -> build/lib.linux-armv7l-3.10/cryptography copying src/cryptography/fernet.py -> build/lib.linux-armv7l-3.10/cryptography copying src/cryptography/utils.py -> build/lib.linux-armv7l-3.10/cryptography creating build/lib.linux-armv7l-3.10/cryptography/hazmat copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat copying src/cryptography/hazmat/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat creating build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/init.py -> build/lib.linux-armv7l-3.10/cryptography/x509 copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-3.10/cryptography/x509 creating build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings copying src/cryptography/hazmat/bindings/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings creating build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives creating build/lib.linux-armv7l-3.10/cryptography/hazmat/backends copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends copying src/cryptography/hazmat/backends/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends creating build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/openssl copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/openssl copying src/cryptography/hazmat/bindings/openssl/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/openssl copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/openssl creating build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/serialization creating build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/twofactor copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/twofactor copying src/cryptography/hazmat/primitives/twofactor/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/twofactor copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/twofactor creating build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/ciphers creating build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/kdf creating build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/primitives/asymmetric creating build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/init.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-3.10/cryptography/hazmat/backends/openssl 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-armv7l-3.10/cryptography creating build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/init.pyi -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-3.10/cryptography/hazmat/bindings/_rust running build_ext generating cffi module 'build/temp.linux-armv7l-3.10/_openssl.c' creating build/temp.linux-armv7l-3.10 running build_rust

  =============================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/ for specific
     instructions for your platform.
  3) Check our frequently asked questions for more information:
     https://cryptography.io/en/latest/faq/
  4) Ensure you have a recent Rust toolchain installed:
     https://cryptography.io/en/latest/installation/#rust

  Python: 3.10.2
  platform: Linux-3.4.113-followmsi-g8c8560e60fc7-armv7l-with-libc
  pip: n/a
  setuptools: 60.9.3
  setuptools_rust: 1.1.2
  =============================DEBUG ASSISTANCE=============================

error: can't find Rust compiler

If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

To update pip, run:

  pip install --upgrade pip

and then retry package installation.

If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

This package requires Rust >=1.41.0.

ERROR: Failed building wheel for cryptography

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.2.4; however, version 22.0.3 is available. You should consider upgrading via the '/data/data/com.termux/files/home/hass/bin/python -m pip install --upgrade pip' command.

camposcristian commented 2 years ago

Having the same issue. Let me know if you found a fix!

BadPusher commented 2 years ago

Try pkg install rust

slongwell commented 2 years ago

See: https://github.com/pyca/cryptography/issues/6679 https://wiki.termux.com/wiki/Python


The key bit:

32-bit (I believe this applies to the Nexus 7 and Nexus 6, the latter of which I'm using): export CARGO_BUILD_TARGET=armv7-linux-androideabi also check: export CARGO_BUILD_TARGET=arm-linux-androideabi

64-bit: export CARGO_BUILD_TARGET=aarch64-linux-android


Here's exactly what I ran that worked for my Nexus 6: pkg install rust export CARGO_BUILD_TARGET=armv7-linux-androideabi && pip install cryptography pip install homeassistant

brainstorm commented 2 years ago

That ☝🏻 and pkg install binutils did it for me: https://github.com/termux/termux-packages/issues/11177#issuecomment-1176975307