← Back to issue list

wrong architecture of stage-snaps when cross building

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1921418
Type
issue
State
open
Author
~ondrak
Labels
craft-415
Created
Updated
Closed
—

Current evaluation

Cross-building downloads host-architecture stage-snaps instead of build-for artifacts; the acknowledged craft-415 bug appears unresolved in current craft-parts.

Suggested action: keep open

Reason: The craft-415 label and the 2021 comment that stage-snaps “should behave like stage-packages” confirm the bug is valid and triaged. Current craft-parts code still invokes `snap download` without a target-architecture argument even though part grammar receives `build_on` and `build_for`, indicating the root cause remains.

Evaluated by: mr-cal-bot

Impact: 58 Quick Win: 26 Complexity: 48 Confidence: 91 Actionability: 87

Issue body

when using stage-snaps and building snap for different than native arch, wrong stage snap is downloaded. There are two use cases this should be considered under: - cross building with: --target-arch=<> - cross building through architecture definition e.g. architectures: - build-on: amd64 run-on: arm64 Tested with snapcraft 4.6 rev 6281

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 58
Quick Win: 26
Complexity: 48
Confidence: 91
Actionability: 87
keep open Cross-building downloads host-architecture stage-snaps instead of build-for artifacts; the acknowledged craft-415 bug appears unresolved in current craft-parts.
stealth/space-bunny-alpha
Impact: 56
Quick Win: 19
Complexity: 58
Confidence: 92
Actionability: 82
keep open Cross-building selects host-architecture stage-snaps instead of target architecture for --target-arch and build-on/run-on builds; the labeled bug remains unresolved.
stealth/space-bunny-alpha
Impact: 57
Quick Win: 29
Complexity: 39
Confidence: 94
Actionability: 82
keep open Open and labeled craft-415: cross-building downloads host-architecture stage-snaps for both --target-arch and build-on/run-on builds. Current craft-parts code still omits the target architecture.
qwen/qwen3.8-27b
Impact: 45
Quick Win: 20
Staleness: 92
Complexity: 55
Confidence: 55
Support Request: 5
close stale Cross-building with stage-snaps downloads the wrong architecture snap (tested on snapcraft 4.6). No comments, no activity for ~5 years, tracked under Jira label craft-415.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 50
Confidence: 85
Support Request: 10
close stale Bug report from 5 years ago describing incorrect stage-snaps architecture selection during cross-compilation. No maintainer comments or activity since opening.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 65
Confidence: 85
Support Request: 10
close stale Reports incorrect stage-snap architecture selection during cross-architecture builds using --target-arch or build-on/run-on definitions. Tested on snapcraft 4.6. No maintainer engagement or updates in over five years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 55
Confidence: 80
Support Request: 10
close stale Reports incorrect architecture selection for stage-snaps during cross-compilation in snapcraft 4.6. Issue has been inactive for nearly 5 years with no maintainer response or updates.

Update history

Date Change
created

Related work

Related issues

Issue Project State Summary Similarity
#5335 `build-on` when running snapcraft locally uses stage packages from the wrong architecture snapcraft closed Closed as expected behavior, not a bug: mr-cal explained build-on uses build-on arch for build/stage-packages; cross-compiling requires :$CRAFT_ARCH_BUILD_FOR suffixes plus ubuntu-ports repo. Later documented in craft-a-cross-compiled-app guide.
77%
#2006599 using advanced grammar to build towards a certain arch does not work with stage-snaps snapcraft (launchpad) open Cross-build grammar selects a foreign-architecture stage snap, but its download lacks the target store architecture and reports the snap missing. A workaround exists; the report remains untriaged.
72%