Arm docker image fails on armv7 with error no such file or directory #245
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#245
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Raspberry pi 3 with RaspiOS, kernel
5.10.63-v7+ armv7l
I also tried to create a small Dockerfile to extract the garage binary:
It's NOT caused by missing config:
linux/arm
binaries downloaded fromhttps://garagehq.deuxfleurs.fr/_releases.html
fail with the same errorCan you
strace
your invokation of Garage to see what file it is trying to access?Something like:
This is what I have on arm64 with the binary from https://garagehq.deuxfleurs.fr/_releases/v0.6.0/armv6l-unknown-linux-musleabihf/garage
Target
Yes, I'm getting the same strace on the Pi.
Could this be relevant?
Oh yeah,
ln -s /lib/ld-linux-armhf.so.3 /usr/lib/ld.so.1
fixed it, but it doesn't feel right, lolNo, that definitely shouldn't be the solution! Theoretically all our builds are statically linked so I'm surprised they still depend on
ld.so
. Maybe @quentin could shed some light on the issue as he is the one who designed the build system?I am using Nix toolchains to get statically compiled binaries with musl. For armv6+armv7, I am using this toolchain:
armv6l-unknown-linux-musleabihf
. We can compare it to amd64 where we have:x86_64-unknown-linux-musl
.But when we compare the ouputs, it seems that arm is dynamically linked while amd64 is not, despite the only difference between them being the target above.
I will get a more in-depth look at this issue next week and fix it. I will probably add a check to ensure that the generated build is, indeed, statically compiled, for all architectures.
For now the only thing I can confirm is that's a bug on our side and we will try to fix it as soon as possible. Thanks for reporting it.