InvalidArchitecture: Architecture ‘armv8l’ is not supported
Metadata
Current evaluation
Fixed by adding armv8l architecture support: PR #697 merged as commit 83679d41, mapping armv8l to armv7l/armhf in craft_parts/infos.py. Released in craft-parts 1.30.0.
Resolution: closed resolved
Reason: PR #697 ("feat(info): support armv8l") was merged as commit 83679d41, adding an "armv8l": "armv7l" mapping in craft_parts/infos.py with unit test coverage; the changelog lists 'Add support for armv8l' in release 1.30.0.
Evaluated by: mr-cal-bot
No scores available.
Issue body
### Bug Description
I am trying to build an `armhf` snap on an aarch64 machine that runs armhf lxc container of Ubuntu.
Getting the error from the title when trying to build the snap:
```
craft_parts.errors.InvalidArchitecture: Architecture 'armv8l' is not supported.
Make sure the architecture name is correct.
```
See more details here: https://forum.snapcraft.io/t/invalidarchitecture-architecture-armv8l-is-not-supported/39455
### To Reproduce
1. On aarch64 machine that supports running in armhf compatibility mode create lxc image with armhf OS.
2. For `architectures` field in snapcraft.yaml:
```
architectures:
- build-on: armhf
build-for: armhf
```
This error did happen without specifying the architectures field though.
### part yaml
_No response_
### Relevant log output
```shell
root@octo-pi3:/var/octo-avenger# snapcraft snap --destructive-mode --verbosity=debug
2024-03-24 14:09:11.570 Starting Snapcraft 7.5.5
Traceback (most recent call last):
File "/snap/snapcraft/11046/bin/snapcraft", line 8, in <module>
sys.exit(run())
File "/snap/snapcraft/11046/lib/python3.8/site-packages/snapcraft/cli.py", line 256, in run
_run_dispatcher(dispatcher, global_args)
File "/snap/snapcraft/11046/lib/python3.8/site-packages/snapcraft/cli.py", line 229, in _run_dispatcher
dispatcher.run()
File "/snap/snapcraft/11046/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run
return self._loaded_command.run(self._parsed_command_args)
File "/snap/snapcraft/11046/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 138, in run
parts_lifecycle.run(self.name, parsed_args)
File "/snap/snapcraft/11046/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 209, in run
_expand_environment(
File "/snap/snapcraft/11046/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 728, in _expand_environment
info = craft_parts.ProjectInfo(
File "/snap/snapcraft/11046/lib/python3.8/site-packages/craft_parts/infos.py", line 94, in __init__
self._set_machine(arch)
File "/snap/snapcraft/11046/lib/python3.8/site-packages/craft_parts/infos.py", line 281, in _set_machine
raise errors.InvalidArchitecture(self._host_arch)
craft_parts.errors.InvalidArchitecture: Architecture 'armv8l' is not supported.
Make sure the architecture name is correct.
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by adding armv8l architecture support: PR #697 merged as commit 83679d41, mapping armv8l to armv7l/armhf in craft_parts/infos.py. Released in craft-parts 1.30.0. | |
| stealth/space-bunny-alpha | — | closed resolved | armv8l (armhf on aarch64 host) was rejected as unsupported by craft_parts ProjectInfo._set_machine. PR #697 added armv8l to the supported architectures map, merging as commit 83679d41 and shipping in craft-parts 1.30.0. | |
| stealth/space-bunny-alpha | — | closed resolved | armv8l host arch rejected by craft_parts ProjectInfo, breaking armhf builds inside armhf LXC containers. Fixed by PR #697 (commit 83679d41), which maps armv8l to armv7l/armhf; maintainer closed #696 citing the fix. | |
| stealth/space-bunny-alpha | — | closed resolved | Added armv8l architecture support, fixing InvalidArchitecture during armhf builds. Merged in craft-parts#697 via commit 83679d41. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed an InvalidArchitecture error for 'armv8l' during armhf snap builds in aarch64/armhf LXC environments. Resolved via pull request #697, which updated architecture detection to correctly recognize the armv8l identifier. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
92
Complexity:
65
Confidence:
85
Support Request:
10
|
needs triage | InvalidArchitecture error when building armhf snaps in armhf LXC containers on aarch64 hosts. Reported 847 days ago, acknowledged by auto-bot, but lacks maintainer labels or human assessment. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
85
Complexity:
45
Confidence:
75
Support Request:
20
|
close stale | Unresolved bug where snapcraft 7.5.5 fails to recognize armv8l architecture in an armhf LXC container on aarch64 hardware. Open for over two years with no maintainer response. |
Update history
| Date | Change |
|---|---|
| closed |
Related work
-
Likely Fixed By:
canonical/craft-parts#697
(confidence 98%)
Merged PR adding armv8l to _SUPPORTED_ARCH, commit 83679d41; maintainer comment on #696 cites it
-
Related To:
canonical/craft-parts#697
(confidence 90%)
Same PR; a follow-up release/availability question was redirected to snapcraft#5638
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #655 "Architecture not supported" error in a armhf container on arm64 host | craft-parts | closed | Added armv8l-to-armv7l support in craft-parts PR #697 (83679d41); Snapcraft PR #6394 (e51640488) delivered the fix in version 9.1. | |
| #1173 `armv8l` architecture not suppored | craft-application | closed | armv8l hosts failed at build-stage platform matching. Fixed by merged PR #1174 (commit 7d75d877), which maps host arch armv8l to armhf; shipped in craft-application 7.2.1. | |
| #243 `armv8l` architecture is not supported | craft-platforms | closed | armv8l host support added: craft-platforms PR #244 (commit 8ccf286) maps armv8l to armhf/armv7l, released in 0.12.0, closing the issue. | |
| #6394 feat: support armv8l | snapcraft | merged | PR #6394 merged as commit e51640488, adding an armv8l-to-armv7l architecture mapping (aligned with craft-parts #697 and craft-platforms #244), completing armv8l support and fixing issue #5638. | |
| #244 fix: add support for armv8l | craft-platforms | merged | Merged PR #244 as commit 8ccf286, adding armv8l-to-armhf/armv7l architecture mapping and fixing #243; released in craft-platforms 0.12.0. |