← Back to issue list

wrong arch of stage packages

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#2012503
Type
issue
State
open
Author
~ondrak
Labels
Created
Updated
Closed

Current evaluation

Snapcraft 7.3 picks host architecture for stage packages when cross-building (build-on amd64, build-for arm64). No maintainer response in 3.4 years. Nearly identical issue #5335 was closed as expected behavior requiring explicit :$CRAFT_ARCH_BUILD_FOR suffix on stage packages.

Suggested action: close not a bug

Reason: Issue #5335 ('build-on when running snapcraft locally uses stage packages from the wrong architecture') is nearly identical and was closed as expected behavior — the maintainer clarified that local cross-compilation requires suffixing stage packages with :$CRAFT_ARCH_BUILD_FOR and adding the ubuntu ports repository, with documentation added. This issue (3.4 years old, 0 comments, no labels) describes the same expected behavior and is effectively a duplicate of that resolved question.

Impact: 15 Quick Win: 12.75 Staleness: 90 Complexity: 15 Confidence: 72 Support Request: 80

Issue body

Snapcraft picks the wrong architecture when not running a native build: e.g. the following definition generates snap with host machine architecture architectures: - build-on: [amd64, arm64] build-for: arm64 Issue regardless if --build-for=arm64 is used or not Test snap: https://paste.ubuntu.com/p/9SmrjcqcT3/ snapcraft: 7.3.post7+gitc7e72c72

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 15
Quick Win: 12.75
Staleness: 90
Complexity: 15
Confidence: 72
Support Request: 80
close not a bug Snapcraft 7.3 picks host architecture for stage packages when cross-building (build-on amd64, build-for arm64). No maintainer response in 3.4 years. Nearly identical issue #5335 was closed as expected behavior requiring explicit :$CRAFT_ARCH_BUILD_FOR suffix on stage packages.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 19.25
Staleness: 90
Complexity: 65
Confidence: 55
Support Request: 5
needs triage Snapcraft 7.3 picks host architecture for stage packages during non-native builds (build-on amd64, build-for arm64), producing snaps with wrong-arch staged packages. Reported ~3.4 years ago, zero comments, no labels, no maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 65
Confidence: 80
Support Request: 10
close stale Bug report claiming Snapcraft incorrectly selects stage package architecture during cross-compilation. Untriaged, zero comments, and over three years old with no maintainer engagement.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 60
Confidence: 85
Support Request: 10
close stale Snapcraft incorrectly selects host architecture for stage packages during cross-compilation builds. Reported against version 7.3 with no maintainer interaction or updates in over three years.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 45
Confidence: 80
Support Request: 10
close stale Snapcraft incorrectly selects host architecture for stage packages during cross-arch builds. Issue is over three years old with zero maintainer response or labels.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 40
Confidence: 85
Support Request: 10
close stale Snapcraft incorrectly uses the host architecture for stage packages during cross-architecture builds, ignoring build-for settings. The report remains open, unassigned, and inactive with zero comments.

Update history

No update history recorded yet.

Related work

  • Duplicate Of: canonical/snapcraft#5335 (confidence 85%)

    Same symptom: wrong-arch stage packages during cross-build with build-on/build-for. #5335 was closed as expected behavior with a documentation fix covering the :$CRAFT_ARCH_BUILD_FOR suffix requirement.

Related issues

Issue Project State Summary Similarity
#1835638 inconsistent to arch behaviour snapcraft (launchpad) open Snapcraft 3.6 stage-packages with 'on <arch>'/'to <arch>' conditionals behave inconsistently: cross-compiling works but native builds fail to pull required packages, and adding 'else' under 'on amd64' mixes arch packages. No maintainer response in 7+ years.
82%
#1655797 Set arch for stage packages snapcraft (launchpad) closed Closed without resolution. Snapcraft rejected architecture qualifiers in stage-packages, causing download failures. With zero comments and no fix, the report was abandoned.
78%
#1921418 wrong architecture of stage-snaps when cross building snapcraft (launchpad) open 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.
78%
#1881515 Snapcraft pulling wrong arch of debs when building foreign snaps snapcraft (launchpad) open 2018 report: --target-arch=armhf on x86 pulls x86-64 stage-packages debs instead of armhf. No labels, comments, or maintainer response in 6+ years. Legacy --target-arch flag removed; modern cross-compile documents the :$CRAFT_ARCH_BUILD_FOR suffix requirement.
78%
#1737561 stage-packages do not honor --target-arch snapcraft (launchpad) open Cross-building stage-packages pulls host architecture packages instead of target architecture. Issue is 8.7 years old with no maintainer interaction or comments. Old cross-build mode deprecated in favor of core24/craft-parts architecture.
76%
#1885074 stage-packages behaviour inconsistent snapcraft (launchpad) open Snapcraft 4.0.7: stage-packages with :arm64 suffix cross-compile fine but native arm64 build yields an empty snap. Reported ~6 years ago, no maintainer response, no labels, zero comments.
75%
#5335 `build-on` when running snapcraft locally uses stage packages from the wrong architecture snapcraft closed Closed as expected behavior. Snapcraft uses the build-on architecture for stage-packages. Cross-compilation requires suffixing packages with :$CRAFT_ARCH_BUILD_FOR. Correct usage is now documented in the official Snapcraft guides.
75%
#4542 When cross-compiling incorrect architecture `stage-packages` are fetched snapcraft closed Closed without resolution. Internal ticket CRAFT-2620 tracks the bug where cross-compilation fetches host architecture stage-packages instead of the target. Manual repository configuration and explicit architecture variables work around it.
73%
#1997752 base core20: wrong arch triplet snapcraft (launchpad) closed Closed without a fix or resolution, likely abandoned due to inactivity. The report indicated Snapcraft incorrectly sets SNAPCRAFT_ARCH_TRIPLET when building on a mismatched host architecture. No comments or patches were submitted.
71%
#5997 Stage package filtering doesn't deal with foreign arch packages (e.g. i386 on amd64) snapcraft open Stage package filtering in craft-parts deb.py matches by name only, ignoring architecture, so foreign-arch packages (e.g. i386 on amd64) pull in duplicate content like all of libc6. Confirmed still present on core26; maintainer says it is a design-first task needing craft-team coordination.
71%