← Back to issue list

Charmcraft 3 breaks charms with multiple run-on architectures

View original Github issue

Metadata

Project
charmcraft
Number
#1697
Type
issue
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

Current evaluation

Closed as blocked by canonical/craft-application#394; no resolving Charmcraft PR, commit, or release was identified for the multi-architecture regression.

Resolution: closed stale

Reason: Maintainer lengau's final comment states that the report was blocked by craft-application#394. No evidence confirms a Charmcraft fix, and the report was subsequently closed without a resolution comment.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### Bug Description For Jammy and below, charms with multiple `run-on` get the message `Architecture 'amd64-arm64-ppc64el-s390x' is not supported.` (or similar) ### To Reproduce 1. `git clone https://opendev.org/openstack/charm-vault.git` 2. `git switch stable/1.8` 3. `charmcraft pack` (with charmcraft 3) ### Environment Linux charmcraft 3 ### charmcraft.yaml ```shell type: charm parts: charm: plugin: dump source: . prime: - actions/* - charmhelpers/* - files/* - hooks/* - lib/* - templates/* - actions.yaml - config.yaml - copyright - hardening.yaml - icon.svg - LICENSE - Makefile - metadata.yaml - README.md bases: - build-on: - name: ubuntu channel: "22.04" architectures: - amd64 run-on: - name: ubuntu channel: "22.04" architectures: [amd64, s390x, ppc64el, arm64] ``` ### Relevant log output ```shell 2024-06-10 14:08:02.305 Starting charmcraft, version 3.0.0.post46+ga44c03e 2024-06-10 14:08:02.305 Log verbosity level set to BRIEF 2024-06-10 14:08:02.305 Configuring application... 2024-06-10 14:08:02.305 Preparing application... 2024-06-10 14:08:02.306 Build plan: platform=None, build_for=None 2024-06-10 14:08:02.307 Loading project file '/home/lengau/Work/Code/charm-nova-compute/charmcraft.yaml' 2024-06-10 14:08:02.309 Warning: use of 'prime' in a charm part is deprecated and no longer works, see https://juju.is/docs/sdk/include-extra-files-in-a-charm 2024-06-10 14:08:02.339 Architecture 'amd64-arm64-ppc64el-s390x' is not supported. 2024-06-10 14:08:02.340 Traceback (most recent call last): 2024-06-10 14:08:02.340 File "/snap/charmcraft/3838/lib/python3.10/site-packages/craft_application/application.py", line 508, in run 2024-06-10 14:08:02.340 self.services.project = self.get_project( 2024-06-10 14:08:02.340 File "/snap/charmcraft/3838/lib/python3.10/site-packages/craft_application/application.py", line 303, in get_project 2024-06-10 14:08:02.340 yaml_data = self._transform_project_yaml(yaml_data, build_on, build_for) 2024-06-10 14:08:02.340 File "/snap/charmcraft/3838/lib/python3.10/site-packages/craft_application/application.py", line 601, in _transform_project_yaml 2024-06-10 14:08:02.340 self._expand_environment(yaml_data=yaml_data, build_for=build_for) 2024-06-10 14:08:02.340 File "/snap/charmcraft/3838/lib/python3.10/site-packages/craft_application/application.py", line 629, in _expand_environment 2024-06-10 14:08:02.340 info = craft_parts.ProjectInfo( 2024-06-10 14:08:02.340 File "/snap/charmcraft/3838/lib/python3.10/site-packages/craft_parts/infos.py", line 99, in __init__ 2024-06-10 14:08:02.340 self._set_machine(arch) 2024-06-10 14:08:02.340 File "/snap/charmcraft/3838/lib/python3.10/site-packages/craft_parts/infos.py", line 333, in _set_machine 2024-06-10 14:08:02.340 raise errors.InvalidArchitecture(arch) 2024-06-10 14:08:02.340 craft_parts.errors.InvalidArchitecture: Architecture 'amd64-arm64-ppc64el-s390x' is not supported. 2024-06-10 14:08:02.340 Make sure the architecture name is correct. 2024-06-10 14:08:02.340 Recommended resolution: Make sure the architecture name is correct. 2024-06-10 14:08:02.340 Full execution log: '/home/lengau/.local/state/charmcraft/log/charmcraft-20240610-140802.305265.log' ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale Closed as blocked by canonical/craft-application#394; no resolving Charmcraft PR, commit, or release was identified for the multi-architecture regression.
stealth/space-bunny-alpha — closed superseded Closed as blocked by canonical/craft-application#394; the upstream fix landed in craft-application PR #414 (commit 947e1b4b).
stealth/space-bunny-alpha — closed stale Closed as blocked by canonical/craft-application#394; the upstream issue was later abandoned without an implementation or confirmed Charmcraft fix.
stealth/space-bunny-alpha — closed resolved Multi-arch run-on builds were fixed by Charmcraft PR #1818, commit c787ea23; the previously blocking craft-application work was extracted by PR #414, commit 947e1b4b.
qwen3.6-35b-a3b-mtp-q6 — — Closed as blocked by an upstream fix in craft-application. Charmcraft 3 incorrectly concatenated multiple run-on architectures into a single invalid string, causing build failures. Resolution awaits the referenced upstream issue.
qwen/qwen3.6-35b-a3b — — Closed as blocked by upstream craft-application issue #394. Charmcraft 3 fails to build charms with multiple run-on architectures, throwing an invalid architecture error. Resolution awaits the upstream fix.
qwen/qwen3.6-35b-a3b — — Closed as blocked by craft-application#394. The Charmcraft 3 multi-architecture run-on bug remains unresolved pending an upstream fix.
qwen3.6-35b-a3b-mtp-q6 — — Closed and resolved via upstream fix in craft-application#394. The charmcraft 3 multi-architecture run-on build failure was fixed after the upstream craft-application issue was addressed.

Update history

No update history recorded yet.

Related work

  • Blocked By: canonical/craft-application#394 (confidence 99%)

    The maintainer explicitly identified this upstream issue as the blocker.

  • Related To: canonical/craft-application#414 (confidence 70%)

    Merged as 947e1b4b to implement the upstream _get_build_for refactor, but no confirmed link establishes it as the fix for #1697.

Related issues

Issue Project State Summary Similarity
#1818 fix(lifecycle): allow building multi-arch charms charmcraft merged Merged to main as commit c787ea23 (PR #1818), letting Charmcraft's lifecycle builds handle charms with multiple run-on architectures; landed alongside Ruff 0.6.0 fixes from #1825. Fixes #1697.
74%
#1783 Charmcraft 3 no longer respects legacy bases architectures charmcraft closed Fixed in Charmcraft 3.1.2 by merged PR #1795 (8b16cae4), which limits manifest.yaml bases to those in the current build, preserving arm64 metadata.
74%
#1563 fix: breaking changes from craft-application main charmcraft merged Merged charmcraft#1563 as commit 8dce5351, updating Charmcraft for breaking API changes on craft-application main.
72%
#1791 Charmcraft 3 including previously-built charms in new charm builds charmcraft closed Fixed in PR #1793 (commit affc209b): subsequent charmcraft pack runs no longer include previously built .charm artifacts in the new charm.
72%
#1853 Incorrect information in Charmhub for ARM64 variants of a charm charmcraft closed Charmcraft incorrectly packed legacy-base manifests with every declared architecture. PR #1795 (8b16cae4) fixed this in 3.1.2; affected charms must be repacked.
70%
#552 `charmcraft pack` runs indefinitely when using parts charmcraft closed The hang was caused by duplicated local-source ignore patterns in Charmcraft 1.2.1 and fixed in 1.3.0 via canonical/craft-parts#120 (commit 280e1592).
70%
#1267 Can't build charm targeted at the current development release: `Skipping 'bases[8].build-on[0]': channel 'devel' does not match host '23.10'.` charmcraft closed Development-release builds stopped being rejected in Charmcraft 3; platform support landed in PR #1554 (commit e3de0a46), and the maintainer closed the report as fixed.
70%