snapcraft 7.4.3 doesn't adequately complain about non-existent architectures
Metadata
Current evaluation
Fixed in Snapcraft 8: invalid build-on architectures now produce a clear validation error listing all supported architectures.
Resolution: closed resolved
Reason: A maintainer confirmed the fix in Snapcraft 8. Unsupported values such as "gothic" are now rejected by schema validation with the supported architectures listed.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### Bug Description
If you specify a build-on architecture that does not even exist (like "gothic" or "baroque"), all snapcraft tells you is:
_"Could not make build plan: build-on architectures in snapcraft.yaml does not match host architecture (amd64)."_
Perhaps it could be more informative and let you know that there is no such architecture, and print a list of supported architectures.
### To Reproduce
Specify a non-existent architecture.
### Environment
Ubuntu 22.04.2 LTS
### snapcraft.yaml
```shell
architectures:
- build-on: gothic
```
### Relevant log output
```shell
Could not make build plan: build-on architectures in snapcraft.yaml does not match host architecture (amd64).
```
### Additional context
_No response_
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed in Snapcraft 8: invalid build-on architectures now produce a clear validation error listing all supported architectures. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in Snapcraft 8: unsupported build-on architectures now produce a clear validation error listing supported architectures. | |
| stealth/space-bunny-alpha | — | closed resolved | Snapcraft 8 now rejects unknown architectures with a clear error naming the invalid value and listing supported architectures, replacing 7.4.3’s misleading host-mismatch message. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in Snapcraft 8: validation rejects unknown architectures and lists supported options, replacing the vague host-mismatch error. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed in snapcraft 8. Validation now rejects unsupported architecture names and returns a clear error listing valid options, replacing the previous vague build plan mismatch warning. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed in snapcraft 8. The tool now returns a clear error message for unsupported architectures, listing valid options instead of a vague build plan mismatch warning. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed in snapcraft 8. Architecture validation now rejects unsupported values and returns a specific error listing valid options, replacing the previous generic build plan mismatch warning. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Fixed in snapcraft 8. Validation now returns clear error messages and lists supported architectures when an invalid build-on architecture is specified in snapcraft.yaml. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5034 Snapcraft not verbose enough when missing architecture on plataforms | snapcraft | closed | Resolved via canonical/craft-application#437: incompatible builds now explain that no build matches and recommend checking platforms, --platform, or --build-for. | |
| #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. | |
| #1691569 snapcraft fails when specifying 'any' architecture in build packages | snapcraft (launchpad) | closed | Fixed by snapcore/snapcraft PR #1322, which restored support for architecture-qualified build packages such as python:any. | |
| #1817288 snapcraft cleanbuild produces incorrect architecture snap | snapcraft (launchpad) | closed | Bug (legacy cleanbuild naming a snap _multi.snap despite correct advanced architectures) was never fixed; closed in Aug 2023 by ~sergiusens noting cleanbuild is no longer supported and all builds are now transparently clean. | |
| #1885150 Cannot use --build-on, architecture list is already set in snapcraft.yaml. | snapcraft (launchpad) | closed | Resolved in Snapcraft 8.7.0: remote-build added --build-for filtering for projects defining architectures or platforms, replacing the unusable --build-on workaround. | |
| #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. | |
| #1813634 not reliable way to detect target architecture | snapcraft (launchpad) | open | Snapcraft 8.0.0 added explicit build-for architecture variables, superseding the ambiguous 3.0.1-era target_arch and SNAPCRAFT_ARCH_TRIPLET behavior. | |
| #1980536 snapcraft unusable on systems not using apt | snapcraft (launchpad) | closed | Snapcraft 7.1.1 fixed startup failures on non-APT systems; the 7.0.8 regression was linked to snapcore/snapcraft#3804. | |
| #1560481 snapcraft prints 'architectures' when trying to build a gadget snap | snapcraft (launchpad) | closed | Gadget-snap build support was added in commit 5610f0eaf (PR #886). | |
| #1520248 snap with only scripts gets wrongs architecture set | snapcraft (launchpad) | closed | Script-only snap architecture handling was fixed by merged PR canonical/snapcraft#121 (merge 672bdedf4; implementation 4d4261135) and recorded for Snapcraft 0.6. |