-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docker 19.03.13 for arm32v7 build failing #260
Comments
Indeed, the failure looks like the official binaries might be no good:
😞 |
The outdated docker version on arm32v7 also means it is currently not possible to use |
Unfortunately, this is a problem in the upstream Docker build process that's creating the |
Even more people seem to be affected this problem now. Any idea on who to ping to get this forward? Or can we help with this somehow? |
@tiborvass @thaJeztah can one of you point me at the script that's building those binaries so I can help look into why they're not working? 🙏 I've been digging in https://github.com/docker/docker-ce-packaging/tree/4865d0386b312294a2a6f8dc5a0ed0bfbfff862c/static, but I'm not sure this is what's actually creating those? (It's a bit hard to track what's actually responsible here 😇) |
I just tried building dockerd 20.10.3 on an armv7 machine (which runs docker 19.03.14) using I then manually installed a development environment on the armv7 host (with debian stretch & go 1.13). I then built the static binary using It looks to me like the docker-based build process is somehow broken on armv7. |
@tianon could this be related to statically compiled CGO for arm with version of golang prior to 1.16? (there were a number of compiler/toolchain enhancements that seem to have addressed some recent segfault/panics we ran into with k3s on arm). |
we need an updated docker image on 32-bit arm which is currently not available. see docker-library/docker#260 Signed-off-by: Jacob Blain Christen <jacob@rancher.com>
Is this still broken for arm32 with docker 20.10.7? |
arm32v6: still broken + bashbrew build docker:20.10.7
...
+ dockerd --version
Illegal instruction (core dumped)
+ bashbrew build docker:19.03.15
...
+ dockerd --version
Segmentation fault (core dumped) arm32v7: still broken + bashbrew build docker:20.10.7
...
+ dockerd --version
Illegal instruction (core dumped)
+ bashbrew build docker:19.03.15
...
+ dockerd --version
Segmentation fault (core dumped) |
For those who are interested, I built a docker image which includes an up-to-date armhf version. (The armhf binaries are built manually on an armhf host, which is the only way I could get it working.) It should be more or less a drop-in replacement for the official https://github.com/djmaze/dind-image-with-armhf |
Unfortunately, the latest binaries are still failing for me: armv7: Step 5/15 : RUN set -eux; apkArch="$(apk --print-arch)"; case "$apkArch" in 'x86_64') url='https://download.docker.com/linux/static/stable/x86_64/docker-20.10.16.tgz'; ;; 'armhf') url='https://download.docker.com/linux/static/stable/armel/docker-20.10.16.tgz'; ;; 'armv7') url='https://download.docker.com/linux/static/stable/armhf/docker-20.10.16.tgz'; ;; 'aarch64') url='https://download.docker.com/linux/static/stable/aarch64/docker-20.10.16.tgz'; ;; *) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; esac; wget -O docker.tgz "$url"; tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ ; rm docker.tgz; dockerd --version; docker --version
---> Running in 719af9812fe3
+ apk --print-arch
+ apkArch=armv7
+ url=https://download.docker.com/linux/static/stable/armhf/docker-20.10.16.tgz
+ wget -O docker.tgz https://download.docker.com/linux/static/stable/armhf/docker-20.10.16.tgz
Connecting to download.docker.com (143.204.157.26:443)
saving to 'docker.tgz'
docker.tgz 66% |********************* | 38.1M 0:00:00 ETA
docker.tgz 100% |********************************| 57.4M 0:00:00 ETA
'docker.tgz' saved
+ tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/
+ rm docker.tgz
+ dockerd --version
Illegal instruction (core dumped) armv6: Step 5/15 : RUN set -eux; apkArch="$(apk --print-arch)"; case "$apkArch" in 'x86_64') url='https://download.docker.com/linux/static/stable/x86_64/docker-20.10.16.tgz'; ;; 'armhf') url='https://download.docker.com/linux/static/stable/armel/docker-20.10.16.tgz'; ;; 'armv7') url='https://download.docker.com/linux/static/stable/armhf/docker-20.10.16.tgz'; ;; 'aarch64') url='https://download.docker.com/linux/static/stable/aarch64/docker-20.10.16.tgz'; ;; *) echo >&2 "error: unsupported architecture ($apkArch)"; exit 1 ;; esac; wget -O docker.tgz "$url"; tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/ ; rm docker.tgz; dockerd --version; docker --version
---> Running in 0f17c3f44c23
+ apk --print-arch
+ apkArch=armhf
+ url=https://download.docker.com/linux/static/stable/armel/docker-20.10.16.tgz
+ wget -O docker.tgz https://download.docker.com/linux/static/stable/armel/docker-20.10.16.tgz
Connecting to download.docker.com (65.8.228.23:443)
saving to 'docker.tgz'
docker.tgz 44% |************** | 25.5M 0:00:01 ETA
docker.tgz 100% |********************************| 57.4M 0:00:00 ETA
'docker.tgz' saved
+ tar --extract --file docker.tgz --strip-components 1 --directory /usr/local/bin/
+ rm docker.tgz
+ dockerd --version
Illegal instruction (core dumped) |
Hmm dont get, it it works for me on a native raspberry pi... |
I tried it on both a Raspberry Pi 1 and a Raspberry Pi 2 and they both gave me the same behavior as above. 😞 |
Uhm now Im completely confused.... |
Ok I have tested it on a Pi 4, but still wondering why it works there:
|
[~/test] # dockerd --version
Docker version 1.13.1, build 7d71120/1.13.1 I think you meant |
Ouch.... can we please delete this conversation? 🙈 My bad and sorry that I have bothered you.... You are totally right, and I executed the system's dockerd 🤦 sorry again. So... that at least explains why it was working only for me, It's still not working |
Not a problem -- it was worth checking again. 👍 |
This is an attempt to find a version which is high enough to address debuerreotype/docker-debian-artifacts#122 but not so high that we hit docker-library/docker#260 It's unclear whether such a version exists, but it sounds like 19.03.8 still experiences the first, and 19.03.13 hits the latter.
This is an attempt to find a version which is high enough to address debuerreotype/docker-debian-artifacts#122 but not so high that we hit docker-library/docker#260 It's unclear whether such a version exists, but it sounds like 19.03.8 still experiences the first, and 19.03.13 hits the latter.
Any chance we could get this going? Now building a container on RPI Kubernetes cluster is not possible. |
For arm32v7, the current version of Docker on Docker Hub is 19.03.08. Meanwhile, Docker version 19.03.13 is available (See Jenkins).
I think it shouldn't make a huge difference to either use 19.03.08 or 19.03.13, but it's a little bit inconsistent though and it could possibly mean that builds with any other newer version may fail.
The text was updated successfully, but these errors were encountered: