Open nickhobbs94 opened 1 year ago
Your build platform is linux/arm64/v8
, which is different from v7
. I am not sure if v7
binary can be executed on a v8
build platform. But if it is not allowed I think installing qemu-user-static
and building with --platform
string should work.
@flouthoc thank you. Yeah I am aware they are different. I've tried to build while specifying --platform
and it didn't seem to work. What does qemu-user-static
do differently?
I guess I'm just confused because I can clearly build different platform architectures with this setup (e.g. amd64
) but it doesn't seem to work for different architecture revisions (v8
vs v7
).
qemu-user-static
allows emulation to work for build i.e uses VM when build platform is different from the requested platform.
Remove all images used in the build and then start again with the --platform command.
buildah uses images that were previously pulled and if these images are V8 it will use them rather then pulling a new v7 image.
Remove all images used in the build and then start again with the --platform command.
Afraid I've already tried this. The problem (I think) is that the system seems to think that an arm v7 image is able to be built on an arm v8 virtual machine. It then hits an exec error because of the mismatch.
Does anybody have an arm v8 platform they'd be willing to try this on? It'd be good if somebody more experienced than myself could reproduce this.
A friendly reminder that this issue had no activity for 30 days.
Remove all images used in the build and then start again with the --platform command.
Afraid I've already tried this. The problem (I think) is that the system seems to think that an arm v7 image is able to be built on an arm v8 virtual machine. It then hits an exec error because of the mismatch.
Does anybody have an arm v8 platform they'd be willing to try this on? It'd be good if somebody more experienced than myself could reproduce this.
Did you get it sorted? I too am having same issue building an arm64 Image on a amd64 host, even with QEMU installed.
@michaels0184 never did get it sorted unfortunately. Just built my images on different machines.
I don't really get why this is happening. Would love to know how people publish images for all their target platforms normally.
@michaels0184 I could build an arm64 image just not the v7 variant. Feel free to chuck your build commands/etc on this ticket, we might be running into different roadblocks.
nickhobbs94 I ended up moving to Azure ACR build tools for building multi architecture images. It comes bundled with the Azure CLI which we already had on our build agents. Buildah required emulation software to be installed at the host level (which we never had access too). I think buildah should just bundle the emulation software into their solution, it would of made my life soo much easier.
Description
Hi there, I'm new to buildah so please let me know if I'm on the complete wrong track here. I'm trying to build an arm v7 image on an aarch64 machine (actually, in a container with --privilleged that might be relevant).
I can build an
arm64
image and anamd64
image. But seem to struggle with thev7
variant. Any hints would be appreciated, thank you :)Steps to reproduce the issue:
For an example
Containerfile
here's the contentsMake a new manifest
Build a working image to check everything is working
Fail to build the v7 variant image (I've tried a few different ways of specifying this, including --platform)
Describe the results you received:
Describe the results you expected: I expected:
Output of
rpm -q buildah
orapt list buildah
:Output of
buildah version
:*Output of `cat /etc/release`:**
Output of
uname -a
:Output of
cat /etc/containers/storage.conf
:File not found.