-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Description
Error log:
#13 [linux/arm/v6 2/11] RUN apk update && apk add --no-cache certbot py-pip inotify-tools tar curl openssl && rm -f /var/cache/apk/* && pip install certbot-dns-route53 --break-system-packages
#13 98.79 Installing build dependencies: finished with status 'error'
#13 98.90 error: subprocess-exited-with-error
#13 98.90
#13 98.90 × pip subprocess to install build dependencies did not run successfully.
#13 98.90 │ exit code: 1
#13 98.90 ╰─> [88 lines of output]
#13 98.90 Ignoring cffi: markers 'platform_python_implementation != "PyPy" and python_version == "3.8"' don't match your environment
#13 98.90 Collecting maturin<2,>=1.9.4
#13 98.90 Downloading maturin-1.11.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl.metadata (16 kB)
#13 98.90 Collecting cffi>=2.0.0
#13 98.90 Downloading cffi-2.0.0.tar.gz (523 kB)
#13 98.90 Installing build dependencies: started
#13 98.90 Installing build dependencies: finished with status 'done'
#13 98.90 Getting requirements to build wheel: started
#13 98.90 Getting requirements to build wheel: finished with status 'done'
#13 98.90 Preparing metadata (pyproject.toml): started
#13 98.90 Preparing metadata (pyproject.toml): finished with status 'done'
#13 98.90 Collecting setuptools!=74.0.0,!=74.1.0,!=74.1.1,!=74.1.2
#13 98.90 Using cached setuptools-80.10.2-py3-none-any.whl.metadata (6.6 kB)
#13 98.90 Collecting pycparser (from cffi>=2.0.0)
#13 98.90 Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)
#13 98.90 Downloading maturin-1.11.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_1_armv7l.whl (8.7 MB)
#13 98.90 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.7/8.7 MB 18.5 MB/s eta 0:00:00
#13 98.90 Using cached setuptools-80.10.2-py3-none-any.whl (1.1 MB)
#13 98.90 Downloading pycparser-3.0-py3-none-any.whl (48 kB)
#13 98.90 Building wheels for collected packages: cffi
#13 98.90 Building wheel for cffi (pyproject.toml): started
#13 98.90 Building wheel for cffi (pyproject.toml): finished with status 'error'
#13 98.90 error: subprocess-exited-with-error
#13 98.90
#13 98.90 × Building wheel for cffi (pyproject.toml) did not run successfully.
#13 98.90 │ exit code: 1
#13 98.90 ╰─> [55 lines of output]
#13 98.90
#13 98.90 No working compiler found, or bogus compiler options passed to
#13 98.90 the compiler from Python's standard "distutils" module. See
#13 98.90 the error messages above. Likely, the problem is not related
#13 98.90 to CFFI but generic to the setup.py of any Python package that
#13 98.90 tries to compile C code. (Hints: on OS/X 10.8, for errors about
#13 98.90 -mno-fused-madd see http://stackoverflow.com/questions/22313407/
#13 98.90 Otherwise, see https://wiki.python.org/moin/CompLangPython or
#13 98.90 the IRC channel #python on irc.libera.chat.)
#13 98.90
#13 98.90 Trying to continue anyway. If you are trying to install CFFI from
#13 98.90 a build done in a different context, you can ignore this warning.
#13 98.90
#13 98.90 running bdist_wheel
#13 98.90 running build
#13 98.90 running build_py
#13 98.90 creating build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/lock.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/vengine_cpy.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/error.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/pkgconfig.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/vengine_gen.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/setuptools_ext.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/backend_ctypes.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/recompiler.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/_imp_emulation.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/_shimmed_dist_utils.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/verifier.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/api.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/model.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/cffi_opcode.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/ffiplatform.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/commontypes.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/__init__.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/cparser.py -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 running egg_info
#13 98.90 writing src/cffi.egg-info/PKG-INFO
#13 98.90 writing dependency_links to src/cffi.egg-info/dependency_links.txt
#13 98.90 writing entry points to src/cffi.egg-info/entry_points.txt
#13 98.90 writing requirements to src/cffi.egg-info/requires.txt
#13 98.90 writing top-level names to src/cffi.egg-info/top_level.txt
#13 98.90 reading manifest file 'src/cffi.egg-info/SOURCES.txt'
#13 98.90 reading manifest template 'MANIFEST.in'
#13 98.90 adding license file 'LICENSE'
#13 98.90 adding license file 'AUTHORS'
#13 98.90 writing manifest file 'src/cffi.egg-info/SOURCES.txt'
#13 98.90 copying src/cffi/_cffi_errors.h -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/_cffi_include.h -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/_embedding.h -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 copying src/cffi/parse_c_type.h -> build/lib.linux-armv7l-cpython-312/cffi
#13 98.90 running build_ext
#13 98.90 building '_cffi_backend' extension
#13 98.90 creating build/temp.linux-armv7l-cpython-312/src/c
#13 98.90 gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -DFFI_BUILDING=1 -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python3.12 -c src/c/_cffi_backend.c -o build/temp.linux-armv7l-cpython-312/src/c/_cffi_backend.o
#13 98.90 error: command 'gcc' failed: No such file or directory
#13 98.90 [end of output]
#13 98.90
#13 98.90 note: This error originates from a subprocess, and is likely not a problem with pip.
#13 98.90 ERROR: Failed building wheel for cffi
#13 98.90 Failed to build cffi
#13 98.90 ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (cffi)
#13 98.90 [end of output]
#13 98.90
#13 98.90 note: This error originates from a subprocess, and is likely not a problem with pip.
#13 99.93 error: subprocess-exited-with-error
#13 99.93
#13 99.93 × pip subprocess to install build dependencies did not run successfully.
#13 99.93 │ exit code: 1
#13 99.93 ╰─> See above for output.
#13 99.93
#13 99.93 note: This error originates from a subprocess, and is likely not a problem with pip.
#13 ERROR: process "/bin/sh -c apk update && apk add --no-cache certbot py-pip inotify-tools tar curl openssl && rm -f /var/cache/apk/* && pip install certbot-dns-route53 --break-system-packages" did not complete successfully: exit code: 1
#25 [linux/arm/v7 2/11] RUN apk update && apk add --no-cache certbot py-pip inotify-tools tar curl openssl && rm -f /var/cache/apk/* && pip install certbot-dns-route53 --break-system-packages
#25 CANCELED
------
> [linux/arm/v6 2/11] RUN apk update && apk add --no-cache certbot py-pip inotify-tools tar curl openssl && rm -f /var/cache/apk/* && pip install certbot-dns-route53 --break-system-packages:
98.90 [end of output]
98.90
98.90 note: This error originates from a subprocess, and is likely not a problem with pip.
99.93 error: subprocess-exited-with-error
99.93
99.93 × pip subprocess to install build dependencies did not run successfully.
99.93 │ exit code: 1
99.93 ╰─> See above for output.
99.93
99.93 note: This error originates from a subprocess, and is likely not a problem with pip.
------
35 warnings found (use docker --debug to expand):
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 13)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 15)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 17)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 18)
- UndefinedVar: Usage of undefined variable '$KEYCLOAK_HOST' (line 24)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 25)
- UndefinedVar: Usage of undefined variable '$DOMAINNAME' (line 11)
- UndefinedVar: Usage of undefined variable '$HAPROXY_USER_PARAMS' (line 14)
- UndefinedVar: Usage of undefined variable '$NAMESERVER' (line 19)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 19)
- UndefinedVar: Usage of undefined variable '$PROXY_LOGLEVEL' (line 20)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 22)
- UndefinedVar: Usage of undefined variable '$LOGFILE' (line 26)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 14)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 29)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 12)
- UndefinedVar: Usage of undefined variable '$HAPROXY_CONFIG' (line 15)
- UndefinedVar: Usage of undefined variable '$HTTPS_FORWARDED_PORT' (line 18)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 20)
- UndefinedVar: Usage of undefined variable '$MANAGER_HOST' (line 21)
- UndefinedVar: Usage of undefined variable '$MANAGER_MQTT_PORT' (line 23)
- UndefinedVar: Usage of undefined variable '$KEYCLOAK_PORT' (did you mean $KEYCLOAK_HOST?) (line 25)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 16)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 24)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 26)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 27)
- MaintainerDeprecated: Maintainer instruction is deprecated in favor of using label (line 7)
- UndefinedVar: Usage of undefined variable '$HTTP_PORT' (line 16)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 21)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 11)
- UndefinedVar: Usage of undefined variable '$DOMAINNAMES' (did you mean $DOMAINNAME?) (line 12)
- UndefinedVar: Usage of undefined variable '$HTTPS_PORT' (did you mean $HTTP_PORT?) (line 17)
- UndefinedVar: Usage of undefined variable '$MANAGER_WEB_PORT' (line 22)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 23)
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 28)
Dockerfile:32
--------------------
31 | # Install certbot and Route53 DNS plugin
32 | >>> RUN apk update \
33 | >>> && apk add --no-cache certbot py-pip inotify-tools tar curl openssl \
34 | >>> && rm -f /var/cache/apk/* \
35 | >>> && pip install certbot-dns-route53 --break-system-packages
36 |
--------------------
Codex analysis:
The build is failing on linux/arm/v6 because pip is trying to compile cffi (a dependency of cryptography) from source and there is no compiler in the image:
error: command 'gcc' failed: No such file or directory
So the root issue is: missing build toolchain (gcc/make) and headers for the armv6 image during pip install.
Why only armv6? arm64/v7 have prebuilt wheels available, so they don’t need a compiler. armv6 usually lacks wheels, so it falls back to source build.
Minimal fix options:
1. Install build deps for the pip install step (armv6 only):
apk add --no-cache build-base python3-dev libffi-dev openssl-dev
Then pip install ..., and optionally apk del build-base python3-dev afterward.
2. Avoid building on armv6 (drop linux/arm/v6 from your build matrix).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels