← Back to issue list

snapcraft --target-arch=i386 does not build i386 images, because core20 does not support i386 and yet the build starts and wastes time

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1943603
Type
issue
State
open
Author
~colin-king
Labels
—
Created
Updated
Closed
—

Current evaluation

Legacy Snapcraft accepted an unsupported core20/i386 target, wasted build time, and produced an amd64 snap; current validation excludes i386 and drops core20.

Suggested action: close resolved

Reason: The current SnapArch enum no longer includes i386, BuildBase no longer includes core20, and project validation rejects unsupported architectures. Commit fa7952b4d (PR #6019) explicitly drops core20; the maintainer comment also confirmed that target-arch=i386 should be invalid for core20, and related issue #1862256 was closed as superseded by newer architecture parsing.

Evaluated by: mr-cal-bot

Impact: 35 Quick Win: 21 Complexity: 30 Confidence: 91 Actionability: 85

Issue body

Tried to make a i386 snap, got amd64 instead. Is that an expected undocumented misfeature? ~/repos/stress-ng$ snapcraft --target-arch=i386 .. after a while .. Staging stress-ng + snapcraftctl stage Priming stress-ng + snapcraftctl prime Snapping | Snapped stress-ng_V0.13.02_amd64.snap

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 35
Quick Win: 21
Complexity: 30
Confidence: 91
Actionability: 85
close resolved Legacy Snapcraft accepted an unsupported core20/i386 target, wasted build time, and produced an amd64 snap; current validation excludes i386 and drops core20.
stealth/space-bunny-alpha
Impact: 38
Quick Win: 24
Complexity: 32
Confidence: 97
Actionability: 92
close resolved Snapcraft accepted --target-arch=i386 for a core20 project, built an amd64 artifact, and wasted build time; current Snapcraft rejects unsupported core20 projects.
stealth/space-bunny-alpha
Impact: 25
Quick Win: 18
Complexity: 20
Confidence: 96
Actionability: 88
close stale Snapcraft once accepted --target-arch=i386 for a core20 project, ran a long build, and emitted amd64; current Snapcraft rejects i386 and no longer supports core20.
stealth/space-bunny-alpha
Impact: 48
Quick Win: 26
Complexity: 38
Confidence: 94
Actionability: 88
close resolved Resolved by later architecture validation: current Snapcraft rejects i386 and no longer supports core20, preventing silent amd64 output and wasted build time.
stealth/space-bunny-alpha
Impact: 42
Quick Win: 28
Complexity: 28
Confidence: 94
Actionability: 92
close resolved Snapcraft previously accepted `--target-arch=i386` for a core20 snap, wasted build time, and emitted an amd64 artifact; current Snapcraft excludes i386 and has removed core20 support.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 19
Complexity: 20
Confidence: 85
Actionability: 80
close resolved snapcraft silently ignores --target-arch=i386 with core20 base, wasting build time. Related Launchpad issue #1862256 was closed as superseded after improved architecture parsing was implemented to reject unsupported base-architecture combinations.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 24
Staleness: 90
Complexity: 40
Confidence: 55
Support Request: 15
needs triage Reports that snapcraft --target-arch=i386 on a core20 base silently builds an amd64 snap instead of failing early, wasting build time. Unlabelled, 0 comments, inactive ~5 years; a related core20/i386 bug was closed as superseded by improved arch parsing.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 35
Confidence: 80
Support Request: 20
needs triage snapcraft --target-arch=i386 silently produces amd64 snaps instead of failing early when base core20 lacks i386 support, wasting build time. Issue is unlabelled and inactive for ~4.8 years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 20
Confidence: 85
Support Request: 10
needs triage User reports snapcraft silently ignores --target-arch=i386 and builds amd64 instead, wasting time since core20 lacks i386 support. Issue is unlabelled, has zero comments, and is nearly 5 years old.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 30
Confidence: 75
Support Request: 10
needs triage snapcraft --target-arch=i386 silently produces amd64 snaps instead of failing or warning, wasting build time. The report is 4.8 years old with zero maintainer interaction or labels.

Update history

Date Change
created

Related work

  • Duplicate Of: snapcraft (launchpad)#1862256 (confidence 92%)

    Closely matching core20/i386 validation report, closed as superseded by newer architecture parsing.

  • Likely Fixed By: canonical/snapcraft#6019 (confidence 82%)

    Commit fa7952b4d drops core20, while current supported-architecture validation excludes i386.

Related issues

Issue Project State Summary Similarity
#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.
83%
#2012074 snapcraft cannot build snap by default on aarch64 snapcraft (launchpad) open 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.
81%
#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.
76%
#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.
76%
#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.
75%
#1881515 Snapcraft pulling wrong arch of debs when building foreign snaps snapcraft (launchpad) closed Reported --target-arch pulling wrong debs for foreign arch builds. Maintainers noted the feature was broken and disabled for core20. Marked resolved as cross-builds have been significantly improved in recent Snapcraft versions.
74%
#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.
73%
#1997752 base core20: wrong arch triplet snapcraft (launchpad) closed Wrong SNAPCRAFT_ARCH_TRIPLET for core20 build-on/run-on builds fixed by adding SNAPCRAFT_ARCH_BUILD_ON/BUILD_FOR and *_TRIPLET_BUILD_FOR envvars (PR #4313, commit 93a9d8170); follow-up #4332 (48bd0632f) errors on unevaluable multi-arch cases.
73%
#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.
73%
#2009520 core18/20: inconsistent architecture parsing snapcraft (launchpad) closed Superseded by snapcore/snapcraft#4340 and #4341. Core22+ overlapping build-on handling merged in #3821 (4876b53); core20 support was declined.
73%