NginxProxyManager / nginx-proxy-manager

Docker container for managing Nginx proxy hosts with a simple, powerful interface
https://nginxproxymanager.com
MIT License
23.08k stars 2.68k forks source link

Dependency Build Errors for Cloudflare DNS Challenge #2070

Open vicchi opened 2 years ago

vicchi commented 2 years ago

Checklist

Describe the bug

The tl;dr version is that installing cloudflare and certbot-dns-cloudflare fail because Python.h is missing because python3-dev is missing from the container image. This is closely related and even possibly a duplicate of #1955 although that issue is DuckDNS related rather than CloudFlare but the dependencies and root cause at least seem the same.

Nginx Proxy Manager Version

v2.9.18

To Reproduce Steps to reproduce the behavior:

  1. Add new SSL certificate
  2. Enter domain name
  3. Enter email address for LetsEncrypt
  4. Enable Use a DNS Challenge
  5. Select Cloudflare as DNS Provider
  6. Add Cloudflare API token credentials, dns_cloudflare_api_token=<redacted>
  7. Enable I Agree To LetsEncrypt TOS
  8. Click on Save
nginx_proxy_manager | dns_cloudflare_api_token=[redacted] > '/etc/letsencrypt/credentials/credentials-1' && chmod 600 '/etc/letsencrypt/credentials/credentials-1' && pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare && certbot certonly --config "/etc/letsencrypt.ini" --cert-name "npm-1" --agree-tos --email "[redacted]" --domains "[redacted]" --authenticator dns-cloudflare --dns-cloudflare-credentials "/etc/letsencrypt/credentials/credentials-1"
nginx_proxy_manager | [5/24/2022] [1:30:10 PM] [Nginx    ] › ℹ  info      Reloading Nginx
nginx_proxy_manager | [5/24/2022] [1:30:10 PM] [Express  ] › ⚠  warning   Command failed: pip install certbot-dns-cloudflare==$(certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare
nginx_proxy_manager |   error: subprocess-exited-with-error
nginx_proxy_manager |
nginx_proxy_manager |   × pip subprocess to install build dependencies did not run successfully.
nginx_proxy_manager |   │ exit code: 1
nginx_proxy_manager |   ╰─> [124 lines of output]
nginx_proxy_manager |       Collecting setuptools!=60.9.0,>=40.6.0
nginx_proxy_manager |         Using cached setuptools-62.3.2-py3-none-any.whl (1.2 MB)
nginx_proxy_manager |       Collecting wheel
nginx_proxy_manager |         Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
nginx_proxy_manager |       Collecting cffi>=1.12
nginx_proxy_manager |         Downloading cffi-1.15.0.tar.gz (484 kB)
nginx_proxy_manager |            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 484.1/484.1 KB 6.8 MB/s eta 0:00:00
nginx_proxy_manager |         Preparing metadata (setup.py): started
nginx_proxy_manager |         Preparing metadata (setup.py): finished with status 'done'
nginx_proxy_manager |       Collecting setuptools-rust>=0.11.4
nginx_proxy_manager |         Downloading setuptools_rust-1.3.0-py3-none-any.whl (21 kB)
nginx_proxy_manager |       Collecting pycparser
nginx_proxy_manager |         Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
nginx_proxy_manager |            ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 KB 5.2 MB/s eta 0:00:00
nginx_proxy_manager |       Collecting semantic-version<3,>=2.8.2
nginx_proxy_manager |         Downloading semantic_version-2.9.0-py2.py3-none-any.whl (15 kB)
nginx_proxy_manager |       Collecting typing-extensions>=3.7.4.3
nginx_proxy_manager |         Downloading typing_extensions-4.2.0-py3-none-any.whl (24 kB)
nginx_proxy_manager |       Building wheels for collected packages: cffi
nginx_proxy_manager |         Building wheel for cffi (setup.py): started
nginx_proxy_manager |         Building wheel for cffi (setup.py): finished with status 'error'
nginx_proxy_manager |         error: subprocess-exited-with-error
nginx_proxy_manager |
nginx_proxy_manager |         × python setup.py bdist_wheel did not run successfully.
nginx_proxy_manager |         │ exit code: 1
nginx_proxy_manager |         ╰─> [36 lines of output]
nginx_proxy_manager |             running bdist_wheel
nginx_proxy_manager |             running build
nginx_proxy_manager |             running build_py
nginx_proxy_manager |             creating build
nginx_proxy_manager |             creating build/lib.linux-armv7l-3.7
nginx_proxy_manager |             creating build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             running build_ext
nginx_proxy_manager |             building '_cffi_backend' extension
nginx_proxy_manager |             creating build/temp.linux-armv7l-3.7
nginx_proxy_manager |             creating build/temp.linux-armv7l-3.7/c
nginx_proxy_manager |             arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -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.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
nginx_proxy_manager |             c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
nginx_proxy_manager |              #include <Python.h>
nginx_proxy_manager |                       ^~~~~~~~~~
nginx_proxy_manager |             compilation terminated.
nginx_proxy_manager |             error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
nginx_proxy_manager |             [end of output]
nginx_proxy_manager |
nginx_proxy_manager |         note: This error originates from a subprocess, and is likely not a problem with pip.
nginx_proxy_manager |         ERROR: Failed building wheel for cffi
nginx_proxy_manager |         Running setup.py clean for cffi
nginx_proxy_manager |       Failed to build cffi
nginx_proxy_manager |       Installing collected packages: wheel, typing-extensions, setuptools, semantic-version, pycparser, setuptools-rust, cffi
nginx_proxy_manager |         Running setup.py install for cffi: started
nginx_proxy_manager |         Running setup.py install for cffi: finished with status 'error'
nginx_proxy_manager |         error: subprocess-exited-with-error
nginx_proxy_manager |
nginx_proxy_manager |         × Running setup.py install for cffi did not run successfully.
nginx_proxy_manager |         │ exit code: 1
nginx_proxy_manager |         ╰─> [36 lines of output]
nginx_proxy_manager |             running install
nginx_proxy_manager |             running build
nginx_proxy_manager |             running build_py
nginx_proxy_manager |             creating build
nginx_proxy_manager |             creating build/lib.linux-armv7l-3.7
nginx_proxy_manager |             creating build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/verifier.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/model.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/recompiler.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/commontypes.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/api.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/error.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/lock.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/cparser.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/__init__.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/_embedding.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.7/cffi
nginx_proxy_manager |             running build_ext
nginx_proxy_manager |             building '_cffi_backend' extension
nginx_proxy_manager |             creating build/temp.linux-armv7l-3.7
nginx_proxy_manager |             creating build/temp.linux-armv7l-3.7/c
nginx_proxy_manager |             arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -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.7m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.7/c/_cffi_backend.o
nginx_proxy_manager |             c/_cffi_backend.c:2:10: fatal error: Python.h: No such file or directory
nginx_proxy_manager |              #include <Python.h>
nginx_proxy_manager |                       ^~~~~~~~~~
nginx_proxy_manager |             compilation terminated.
nginx_proxy_manager |             error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
nginx_proxy_manager |             [end of output]
nginx_proxy_manager |
nginx_proxy_manager |         note: This error originates from a subprocess, and is likely not a problem with pip.
nginx_proxy_manager |       error: legacy-install-failure
nginx_proxy_manager |
nginx_proxy_manager |       × Encountered error while trying to install package.
nginx_proxy_manager |       ╰─> cffi
nginx_proxy_manager |
nginx_proxy_manager |       note: This is an issue with the package mentioned above, not pip.
nginx_proxy_manager |       hint: See above for output from the failure.
nginx_proxy_manager |       WARNING: You are using pip version 22.0.4; however, version 22.1.1 is available.
nginx_proxy_manager |       You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
nginx_proxy_manager |       [end of output]
nginx_proxy_manager |
nginx_proxy_manager |   note: This error originates from a subprocess, and is likely not a problem with pip.
nginx_proxy_manager | error: subprocess-exited-with-error
nginx_proxy_manager |
nginx_proxy_manager | × pip subprocess to install build dependencies did not run successfully.
nginx_proxy_manager | │ exit code: 1
nginx_proxy_manager | ╰─> See above for output.
nginx_proxy_manager |
nginx_proxy_manager | note: This error originates from a subprocess, and is likely not a problem with pip.
nginx_proxy_manager | WARNING: You are using pip version 22.0.4; however, version 22.1.1 is available.
nginx_proxy_manager | You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
nginx_proxy_manager |

Expected behavior

An SSL certificate to be generated via Cloudflare's DNS challenge

Screenshots

Operating System

Additional context

Workaround ...

docker exec -it nginx_proxy_manager /bin/bash
apt update
apt-get install -y build-essential libssl-dev libffi-dev python3-dev cargo
pip install certbot-dns-cloudflare==$(/usr/bin/certbot --version | grep -Eo '[0-9](\.[0-9]+)+') cloudflare

Be prepared with much ☕ as the build of the wheel for cryptography takes a while, at least on an RPi

After completion of the dependencies install, issuing SSL certs works and all is good

Reupireup commented 2 years ago

I have the same issue with OVH dns-challenge (and same environment Rpi4, docker and NPM version) and same trace.

the workaround worked for me (adapted for ovh) docker exec -it nginx_proxy_manager /bin/bash apt update apt-get install -y build-essential libssl-dev libffi-dev python3-dev cargo pip install certbot-dns-ovh==$(/usr/bin/certbot --version | grep -Eo '[0-9](\.[0-9]+)+') ovh

jeffshee commented 2 years ago

I have the same issue. Besides, I also couldn't install cryptography without updating the pip and setuptools, as shown in the error message below.

Workaround: pip install pip setuptools --upgrade

IMO, it will be nice to have the certbots included in the image, as it requires lots of time to build and install otherwise.

Error message:

Collecting cryptography>=2.5.0
  Using cached cryptography-37.0.4.tar.gz (585 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [29 lines of output]

              =============================DEBUG ASSISTANCE==========================
              If you are seeing an error here please try the following to
              successfully install cryptography:

              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
              =============================DEBUG ASSISTANCE==========================

      Traceback (most recent call last):
        File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 155, in get_requires_for_build_wheel
          config_settings, requirements=['wheel'])
        File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 135, in _get_build_requires
          self.run_setup()
        File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 150, in run_setup
          exec(compile(code, __file__, 'exec'), locals())
        File "setup.py", line 14, in <module>
          from setuptools_rust import RustExtension
        File "/tmp/pip-build-env-4n8eryhe/overlay/lib/python3.7/site-packages/setuptools_rust/__init__.py", line 1, in <module>
          from .build import build_rust
        File "/tmp/pip-build-env-4n8eryhe/overlay/lib/python3.7/site-packages/setuptools_rust/build.py", line 20, in <module>
          from setuptools.command.build import build as CommandBuild  # type: ignore[import]
      ModuleNotFoundError: No module named 'setuptools.command.build'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
R-ens commented 2 years ago

I followed all above steps to get Cloudflare DNS challange working but get another new error while installing dependencies. Whats going on and who can help me further?

Why isn't this been solved in the Docker image already? There is no new version released since months....

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.8/58.8 kB 2.8 MB/s eta 0:00:00
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting cffi>=1.12
  Using cached cffi-1.15.1-cp37-cp37m-linux_armv7l.whl
Collecting zope.event
  Downloading zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
Collecting zope.hookable>=4.2.0
  Downloading zope.hookable-5.2.tar.gz (24 kB)
  Preparing metadata (setup.py) ... done
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: cloudflare, pyyaml, configobj, cryptography, zope.interface, zope.hookable
  Building wheel for cloudflare (setup.py) ... done
  Created wheel for cloudflare: filename=cloudflare-2.10.1-py2.py3-none-any.whl size=67149 sha256=217f9dc11eb544ab3dbe84c0d63161bc328c7685ea79db0ac38ae663805ed4f2
  Stored in directory: /root/.cache/pip/wheels/6c/4a/e7/54f880c649a67173001a212818b2ebd41128688473714c4aaa
  Building wheel for pyyaml (pyproject.toml) ... done
  Created wheel for pyyaml: filename=PyYAML-6.0-cp37-cp37m-linux_armv7l.whl size=45335 sha256=7b97945d1b1b1631642f0b33d4e49b7a310954bb9d543e7c92f13475f80c6073
  Stored in directory: /root/.cache/pip/wheels/ca/e8/5c/5bdf13545e93ea6fda886afab27e2faecc419e84bf870c2623
  Building wheel for configobj (setup.py) ... done
  Created wheel for configobj: filename=configobj-5.0.6-py3-none-any.whl size=34528 sha256=6209099ae765467fc76c8fcade542f0a9037caf655bc97e59162f0e062042ede
  Stored in directory: /root/.cache/pip/wheels/0d/c4/19/13d74440f2a571841db6b6e0a273694327498884dafb9cf978
  Building wheel for cryptography (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cryptography (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [179 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-37
      creating build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/fernet.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/__about__.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-cpython-37/cryptography
      creating build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat
      copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat
      copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
      copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
      copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-cpython-37/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 '.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 '.circleci'
      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-cpython-37/cryptography
      copying src/cryptography/hazmat/bindings/_openssl.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      running build_ext
      running build_rust
      /usr/local/lib/python3.7/dist-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'cryptography.hazmat.bindings._rust' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'cryptography.hazmat.bindings._rust' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'cryptography.hazmat.bindings._rust' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)

          =============================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.7.3
          platform: Linux-5.15.61-v7l+-armv7l-with-debian-10.12
          pip: 22.2.2
          setuptools: 65.3.0
          setuptools_rust: 1.5.1
          rustc: 1.41.1
          =============================DEBUG ASSISTANCE=============================

      error: Rust 1.41.1 does not match extension requirement >=1.48.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cryptography
  Building wheel for zope.interface (setup.py) ... done
  Created wheel for zope.interface: filename=zope.interface-5.4.0-cp37-cp37m-linux_armv7l.whl size=223442 sha256=b3d4f275141cb4d76f97b2748004c972109290286cd678d49d2bc87337e3f480
  Stored in directory: /root/.cache/pip/wheels/f8/5c/3e/b5145fe8a9350e5ba1c2b70f6dfb9e9b2f9406d9d74385b671
  Building wheel for zope.hookable (setup.py) ... done
  Created wheel for zope.hookable: filename=zope.hookable-5.2-cp37-cp37m-linux_armv7l.whl size=25980 sha256=8e96c653a055cc71ec614de6470f8557a3b1c8782055dc5b1a5c5f4fab7ce6ea
  Stored in directory: /root/.cache/pip/wheels/dc/2f/08/590e0ea8c24f526762c5349f4eb4f196bb8dd335b57fb50e0e
Successfully built cloudflare pyyaml configobj zope.interface zope.hookable
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
vascozorrinho commented 2 years ago

I followed all above steps to get Cloudflare DNS challange working but get another new error while installing dependencies. Whats going on and who can help me further?

Why isn't this been solved in the Docker image already? There is no new version released since months....

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.8/58.8 kB 2.8 MB/s eta 0:00:00
Collecting six
  Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting cffi>=1.12
  Using cached cffi-1.15.1-cp37-cp37m-linux_armv7l.whl
Collecting zope.event
  Downloading zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
Collecting zope.hookable>=4.2.0
  Downloading zope.hookable-5.2.tar.gz (24 kB)
  Preparing metadata (setup.py) ... done
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Building wheels for collected packages: cloudflare, pyyaml, configobj, cryptography, zope.interface, zope.hookable
  Building wheel for cloudflare (setup.py) ... done
  Created wheel for cloudflare: filename=cloudflare-2.10.1-py2.py3-none-any.whl size=67149 sha256=217f9dc11eb544ab3dbe84c0d63161bc328c7685ea79db0ac38ae663805ed4f2
  Stored in directory: /root/.cache/pip/wheels/6c/4a/e7/54f880c649a67173001a212818b2ebd41128688473714c4aaa
  Building wheel for pyyaml (pyproject.toml) ... done
  Created wheel for pyyaml: filename=PyYAML-6.0-cp37-cp37m-linux_armv7l.whl size=45335 sha256=7b97945d1b1b1631642f0b33d4e49b7a310954bb9d543e7c92f13475f80c6073
  Stored in directory: /root/.cache/pip/wheels/ca/e8/5c/5bdf13545e93ea6fda886afab27e2faecc419e84bf870c2623
  Building wheel for configobj (setup.py) ... done
  Created wheel for configobj: filename=configobj-5.0.6-py3-none-any.whl size=34528 sha256=6209099ae765467fc76c8fcade542f0a9037caf655bc97e59162f0e062042ede
  Stored in directory: /root/.cache/pip/wheels/0d/c4/19/13d74440f2a571841db6b6e0a273694327498884dafb9cf978
  Building wheel for cryptography (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cryptography (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [179 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-armv7l-cpython-37
      creating build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/fernet.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/__about__.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography
      copying src/cryptography/exceptions.py -> build/lib.linux-armv7l-cpython-37/cryptography
      creating build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/name.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/general_name.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/extensions.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/oid.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      copying src/cryptography/x509/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/x509
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat
      copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat
      copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
      copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
      copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/openssl
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/serialization
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/asymmetric
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/kdf
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/ciphers
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/primitives/twofactor
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/backends/openssl
      copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv7l-cpython-37/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 '.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 '.circleci'
      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-cpython-37/cryptography
      copying src/cryptography/hazmat/bindings/_openssl.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings
      creating build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv7l-cpython-37/cryptography/hazmat/bindings/_rust
      running build_ext
      running build_rust
      /usr/local/lib/python3.7/dist-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'cryptography.hazmat.bindings._rust' as data is deprecated, please list it in `packages`.
          !!

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'cryptography.hazmat.bindings._rust' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'cryptography.hazmat.bindings._rust' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'cryptography.hazmat.bindings._rust' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.

      !!

        check.warn(importable)

          =============================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.7.3
          platform: Linux-5.15.61-v7l+-armv7l-with-debian-10.12
          pip: 22.2.2
          setuptools: 65.3.0
          setuptools_rust: 1.5.1
          rustc: 1.41.1
          =============================DEBUG ASSISTANCE=============================

      error: Rust 1.41.1 does not match extension requirement >=1.48.0
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cryptography
  Building wheel for zope.interface (setup.py) ... done
  Created wheel for zope.interface: filename=zope.interface-5.4.0-cp37-cp37m-linux_armv7l.whl size=223442 sha256=b3d4f275141cb4d76f97b2748004c972109290286cd678d49d2bc87337e3f480
  Stored in directory: /root/.cache/pip/wheels/f8/5c/3e/b5145fe8a9350e5ba1c2b70f6dfb9e9b2f9406d9d74385b671
  Building wheel for zope.hookable (setup.py) ... done
  Created wheel for zope.hookable: filename=zope.hookable-5.2-cp37-cp37m-linux_armv7l.whl size=25980 sha256=8e96c653a055cc71ec614de6470f8557a3b1c8782055dc5b1a5c5f4fab7ce6ea
  Stored in directory: /root/.cache/pip/wheels/dc/2f/08/590e0ea8c24f526762c5349f4eb4f196bb8dd335b57fb50e0e
Successfully built cloudflare pyyaml configobj zope.interface zope.hookable
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects

Same problem here. did you find a solution?

tried

pip install rust --upgrade

but got this error

`[root@docker-5e9444045b64:/app]# pip install rust --upgrade Collecting rust Using cached RUST-0.1.1.tar.gz (13 kB) Preparing metadata (setup.py) ... done Collecting matplotlib Using cached matplotlib-3.5.3.tar.gz (35.2 MB) Preparing metadata (setup.py) ... error error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [132 lines of output] error: subprocess-exited-with-error

    × Getting requirements to build wheel did not run successfully.
    │ exit code: 1
    ╰─> [75 lines of output]
        running egg_info
        running build_src
        build_src
        creating numpy.egg-info
        writing numpy.egg-info/PKG-INFO
        writing dependency_links to numpy.egg-info/dependency_links.txt
        writing entry points to numpy.egg-info/entry_points.txt
        writing top-level names to numpy.egg-info/top_level.txt
        writing manifest file 'numpy.egg-info/SOURCES.txt'
        unifing config_cc, config, build_clib, build_ext, build commands --compiler options
        unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
        Running from numpy source directory.
        /usr/local/lib/python3.7/dist-packages/setuptools/command/egg_info.py:647: SetuptoolsDeprecationWarning: Custom 'build_py' does not implement 'get_data_files_without_manifest'.
        Please extend command classes from setuptools instead of distutils.
          SetuptoolsDeprecationWarning
        Traceback (most recent call last):
          File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
            main()
          File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
            json_out['return_val'] = hook(**hook_input['kwargs'])
          File "/usr/local/lib/python3.7/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
            return hook(config_settings)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 338, in get_requires_for_build_wheel
            return self._get_build_requires(config_settings, requirements=['wheel'])
          File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 320, in _get_build_requires
            self.run_setup()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 483, in run_setup
            self).run_setup(setup_script=setup_script)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/build_meta.py", line 335, in run_setup
            exec(code, locals())
          File "<string>", line 448, in <module>
          File "<string>", line 440, in setup_package
          File "/usr/local/lib/python3.7/dist-packages/setuptools/__init__.py", line 87, in setup
            return distutils.core.setup(**attrs)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/core.py", line 185, in setup
            return run_commands(dist)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/core.py", line 201, in run_commands
            dist.run_commands()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/dist.py", line 973, in run_commands
            self.run_command(cmd)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/dist.py", line 1217, in run_command
            super().run_command(command)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/dist.py", line 992, in run_command
            cmd_obj.run()
          File "/tmp/pip-wheel-cikkqhv5/numpy_ad4e7b217f0a4e569e47c7219931c29f/numpy/distutils/command/egg_info.py", line 25, in run
            _egg_info.run(self)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/egg_info.py", line 308, in run
            self.find_sources()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/egg_info.py", line 316, in find_sources
            mm.run()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/egg_info.py", line 560, in run
            self.add_defaults()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/egg_info.py", line 597, in add_defaults
            sdist.add_defaults(self)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/sdist.py", line 107, in add_defaults
            self._add_defaults_build_sub_commands()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/sdist.py", line 127, in _add_defaults_build_sub_commands
            self.filelist.extend(chain.from_iterable(files))
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/egg_info.py", line 503, in extend
            self.files.extend(filter(self._safe_path, paths))
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/sdist.py", line 126, in <genexpr>
            files = (c.get_source_files() for c in cmds if hasattr(c, "get_source_files"))
          File "/usr/local/lib/python3.7/dist-packages/setuptools/command/sdist.py", line 125, in <genexpr>
            cmds = (self.get_finalized_command(c) for c in missing_cmds)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/cmd.py", line 306, in get_finalized_command
            cmd_obj.ensure_finalized()
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/cmd.py", line 109, in ensure_finalized
            self.finalize_options()
          File "/tmp/pip-wheel-cikkqhv5/numpy_ad4e7b217f0a4e569e47c7219931c29f/numpy/distutils/command/config_compiler.py", line 69, in finalize_options
            v = getattr(c, a)
          File "/tmp/pip-build-env-y3ndedop/overlay/lib/python3.7/site-packages/Cython/Distutils/old_build_ext.py", line 157, in __getattr__
            return _build_ext.build_ext.__getattr__(self, name)
          File "/usr/local/lib/python3.7/dist-packages/setuptools/_distutils/cmd.py", line 105, in __getattr__
            raise AttributeError(attr)
        AttributeError: fcompiler
        [end of output]

    note: This error originates from a subprocess, and is likely not a problem with pip.
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.

  Edit mplsetup.cfg to change the build options; suppress output with --quiet.

  BUILDING MATPLOTLIB
        python: yes [3.7.3 (default, Jan 22 2021, 20:04:44)  [GCC 8.3.0]]
      platform: yes [linux]
         tests: no  [skipping due to configuration]
        macosx: no  [Mac OS-X only]

  /usr/local/lib/python3.7/dist-packages/setuptools/installer.py:30: SetuptoolsDeprecationWarning: setuptools.installer is deprecated. Requirements should be satisfied by a PEP 517 installer.
    SetuptoolsDeprecationWarning,
  Traceback (most recent call last):
    File "/usr/local/lib/python3.7/dist-packages/setuptools/installer.py", line 82, in fetch_build_egg
      subprocess.check_call(cmd)
    File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmprck6y8yt', '--quiet', 'numpy>=1.17']' returned non-zero exit status 1.

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 36, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/tmp/pip-install-yacy738t/matplotlib_00e6793e86b346a595c58f813154a06a/setup.py", line 349, in <module>
      "sdist": Sdist,
    File "/usr/local/lib/python3.7/dist-packages/setuptools/__init__.py", line 86, in setup
      _install_setup_requires(attrs)
    File "/usr/local/lib/python3.7/dist-packages/setuptools/__init__.py", line 80, in _install_setup_requires
      dist.fetch_build_eggs(dist.setup_requires)
    File "/usr/local/lib/python3.7/dist-packages/setuptools/dist.py", line 878, in fetch_build_eggs
      replace_conflicting=True,
    File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 791, in resolve
      replace_conflicting=replace_conflicting
    File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 1075, in best_match
      return self.obtain(req, installer)
    File "/usr/local/lib/python3.7/dist-packages/pkg_resources/__init__.py", line 1087, in obtain
      return installer(requirement)
    File "/usr/local/lib/python3.7/dist-packages/setuptools/dist.py", line 945, in fetch_build_egg
      return fetch_build_egg(self, req)
    File "/usr/local/lib/python3.7/dist-packages/setuptools/installer.py", line 84, in fetch_build_egg
      raise DistutilsError(str(e)) from e
  distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmprck6y8yt', '--quiet', 'numpy>=1.17']' returned non-zero exit status 1.
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed

× Encountered error while generating package metadata. ╰─> See above for output.

note: This is an issue with the package mentioned above, not pip. hint: See above for details.`

R-ens commented 2 years ago

@vascozorrinho

I used this command and that works for me.

pip install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary

Please keep in mind that you have to use this command again after restarting your Docker image otherwise you will get a Bad Gateway error.

Hope for a decent fix soon...

vascozorrinho commented 2 years ago

wow! that worked :D

I think you saved my life!

thanks

h00bi commented 1 year ago

had similiar problems with netcup i opened the npm container shell and installed latest certbot-dns-netcup which is 1.2.0 With this, i can get a wildcard certificate using shell commands.

Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/npm-4/fullchain.pem Key is saved at: /etc/letsencrypt/live/npm-4/privkey.pem This certificate expires on 2023-03-05. These files will be updated when the certificate renews.

Unfortuately, this certificate will not be shown in the gui. When i run the gui wizard again for netcup dns challenge, it will downgrade certbot-dns-netcup to 1.0.1 which will fail again.

I suggest you set TTL to a very low value during testing, like 60s, but don't forget to increase later.

Please update certbot-dns-netcup install routine for this container.

vascozorrinho commented 1 year ago

@renslinden you just saved me again.. i'm surprised this is still a problem

h00bi commented 1 year ago

Actually, this ist solved in the amd64 docker Container, which already has certbot 2.1.0

It's just the armv7 i guess.

I run this inside an amd64 lxc Container and it works great.

vascozorrinho commented 1 year ago

Damn! I'm running this on a 32 bits RP 3 and that device is not powerful enough to run a 64bit os. I actually tried that.. Maybe in the future I'll upgrade but since this doesn't happen that often, for now, this will work

palepinkdot commented 11 months ago

@vascozorrinho

I used this command and that works for me.

pip install certbot-dns-cloudflare --index-url https://www.piwheels.org/simple --prefer-binary

Please keep in mind that you have to use this command again after restarting your Docker image otherwise you will get a Bad Gateway error.

Hope for a decent fix soon...

Update for you, this worked for me on an RPi 4 under Portainer on the latest docker tag.

Appears to be related to arm7, worked fine on amd64.

github-actions[bot] commented 3 months ago

Issue is now considered stale. If you want to keep it open, please comment :+1: