snapcraft cannot build snap by default on aarch64
Metadata
Current evaluation
ARM64 default builds failed on Snapcraft 7.3.1 because core20 selected amd64-only Multipass images; later defaults use core22/LXD on Linux, addressing the reported path.
Suggested action: close resolved
Reason: @~mr-cal confirmed that Multipass core20 images were available only on amd64. The related-issue record identifies PR #4118 as changing the default to core22, and current provider code selects LXD on Linux, so the reported Snapcraft 7.3.1 failure is resolved.
Evaluated by: mr-cal-bot
Impact:
55
Quick Win:
30
Complexity:
40
Confidence:
96
Actionability:
92
Issue body
On aarch64 architecture calling the snapcraft command without additional options doesn't work.
Indeed, snapcraft tries to launch a multipass instance based on the image snapcraft:core20. This image doesn't seem to exist on arm (not listed in `multipass list` on arm64 while listed on amd64)
To reproduce this behaviour on an aarch64 ubuntu:
sudo snap install snapcraft --classic
snapcraft init
snapcraft
Then we get this error:
Launching a VM.
warning: "--mem" long option will be deprecated in favour of "--memory" in a future release.Please update any scripts, etc.
launch failed: Unable to find an image matching "core20". Please use `multipass find` for supported remotes and images.
An error occurred with the instance when trying to launch with 'multipass': returned exit code 2.
Ensure that 'multipass' is setup correctly and try again.
snapcraft --version
snapcraft 7.3.1
cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
55
Quick Win:
30
Complexity:
40
Confidence:
96
Actionability:
92
|
close resolved | ARM64 default builds failed on Snapcraft 7.3.1 because core20 selected amd64-only Multipass images; later defaults use core22/LXD on Linux, addressing the reported path. | |
| stealth/space-bunny-alpha |
Impact:
57
Quick Win:
44
Complexity:
17
Confidence:
98
Actionability:
92
|
close resolved | ARM64 default builds previously failed because snapcraft init generated core20, whose Multipass image was amd64-only; PR #4118 changed the default to core22, which uses LXD on Linux. | |
| stealth/space-bunny-alpha |
Impact:
50
Quick Win:
40
Complexity:
15
Confidence:
99
Actionability:
95
|
close resolved | Snapcraft 7.3.1 initialized core20 projects, but its unavailable arm64 Multipass image made default aarch64 builds fail. Merged PR #4118 changed the init default to core22. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
40
Quick Win:
36
Staleness:
95
Complexity:
10
Confidence:
85
Support Request:
20
|
close stale | snapcraft init defaults to core20 base which lacks arm64 Multipass images, causing build failures on aarch64. Fixed by PR #4118 which changed the default init base to core22. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
25
Confidence:
85
Support Request:
10
|
close stale | snapcraft fails to build on aarch64 by default due to missing multipass core20 images for arm64. Unlabelled, zero comments, inactive for over 3 years. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
92
Complexity:
45
Confidence:
85
Support Request:
10
|
close stale | Snapcraft fails on aarch64 when using default multipass builder with core20 image, which lacks arm64 support. Issue is 3+ years old with no maintainer response. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
95
Complexity:
30
Confidence:
85
Support Request:
10
|
close stale | Snapcraft v7.3.1 fails on aarch64 due to missing multipass core20 image. Issue is over three years old with no maintainer response or labels. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#4118
(confidence 95%)
The related issue identifies this PR as changing the default to core22, which uses LXD on Linux.
-
Related To:
snapcraft (launchpad)#1984223
(confidence 90%)
Reports the same unavailable-Multipass default problem on another non-amd64 Linux architecture and records that current Linux defaults resolve it.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1943603 snapcraft --target-arch=i386 does not build i386 images, because core20 does not support i386 and yet the build starts and wastes time | snapcraft (launchpad) | open | Legacy Snapcraft accepted an unsupported core20/i386 target, wasted build time, and produced an amd64 snap; current validation excludes i386 and drops core20. | |
| #1866300 snapcraft fails to build core20 snap | snapcraft (launchpad) | closed | Closed without a documented fix after core20 Multipass/LXD failures; core20 build-base support was unavailable and the workaround was destructive mode. | |
| #1984227 Snapcraft 7.1.1 does not build with core22 on riscv64 | snapcraft (launchpad) | closed | Fixed in Snapcraft 7.1.2, which added the missing riscv64 support needed to build core22 snaps. | |
| #2099923 Snapcraft builds are failing: install of snap "snapcraft" failed | snapcraft (launchpad) | open | Reported Launchpad Bionic non-i386 builds cannot install Snapcraft 7.x/stable because core20 needs snapd 2.61; the issue remains open, untriaged, and unanswered. | |
| #1907721 Snapcraft broken on ARM64 | snapcraft (launchpad) | closed | Closed as a configuration issue: a system-wide Python package broke apt-installed Snapcraft, while Multipass lacked ARM64 support; maintainers recommended the Snapcraft snap and --use-lxd. | |
| #5219 Snapcraft unable to compile ARM64 kernel | snapcraft | open | ARM64 core20 kernel cross-builds fail while fetching snapd:arm64; a minimal apt reproducer exists, but the report has no maintainer triage or release mapping. | |
| #1862256 snapcraft should complain loudly when building base: core20 snap on i386 | snapcraft (launchpad) | closed | Closed as superseded: improved architecture parsing rejects unsupported core20/i386 builds, making a dedicated check unnecessary; snapcraft#4392 improved this handling. | |
| #1641123 snapcraft does not properly detect the architecture when kernel is 64 bits but userspace is 32 | snapcraft (launchpad) | closed | Fixed in snapcore/snapcraft#1089 by deriving the build architecture from the compiler target, preventing 32-bit ARM artifacts from being mislabeled arm64. | |
| #4960 Can't build Core20 snaps on non-snap distros | snapcraft | open | Core20 LXD builds reject distro-installed LXD on NixOS/Arch; a maintainer specified a backport, while core20 support now requires Snapcraft 8. | |
| #4980 Fix Snapcraft 7 builds on riscv64 | snapcraft | closed | Closed as obsolete without a riscv64 fix: Snapcraft 7 now serves core18-only builds, which do not support RISC-V. |