Snapcraft broken on ARM64
Metadata
Current evaluation
Closed as a configuration issue: a system-wide Python package broke apt-installed Snapcraft, while Multipass lacked ARM64 support; maintainers recommended the Snapcraft snap and --use-lxd.
Resolution: closed not a bug
Reason: Maintainer Sergiusens identified host Python packages as the cause of the apt failure and explained that Multipass is unsupported on ARM64. The advised workarounds were to use the Snapcraft snap and run with --use-lxd.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Snapcraft suddenly stopped workging. I am using a PI4 running ubuntu 18.04.
the Snapcraft snap force to use Multipass which give this error, same in ubuntu 20.04:
Launching a VM.
launch failed: Internal error: qemu-system-x86_64 failed getting vmstate (Process returned exit code: 1) with output:
qemu-system-aarch64: -nographic: No machine specified, and there is no default
Use -machine help to list supported machines
An error occurred with the instance when trying to launch with 'multipass': returned exit code 2.
Ensure that 'multipass' is setup correctly and try again.
ubuntu@ubuntu:~/trtrtr$ sudo snapcraft
using snapcraft via apt i got this error, any advice so solve the problem?
/usr/lib/python3/dist-packages/snapcraft/internal/states/_state.py:96: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
state = yaml.load(f.read())
Sorry, an error occurred in Snapcraft:
Traceback (most recent call last):
File "/usr/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.43.1+18.4.1', 'console_scripts', 'snapcraft')()
File "/usr/lib/python3/dist-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 1043, in invoke
return Command.invoke(self, ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/_runner.py", line 93, in run
ctx.forward(lifecyclecli.commands["snap"])
File "/usr/lib/python3/dist-packages/click/core.py", line 553, in forward
return self.invoke(cmd, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 136, in snap
project = _execute(steps.PRIME, parts=[], **kwargs)
File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 35, in _execute
lifecycle.execute(step, project_config, parts)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 90, in execute
executor.run(step, part_names)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 196, in run
self._create_meta(step, processed_part_names)
File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 354, in _create_meta
common.env = self.config.snap_env()
File "/usr/lib/python3/dist-packages/snapcraft/internal/project_loader/_config.py", line 289, in snap_env
dependency_paths |= part.get_primed_dependency_paths()
File "/usr/lib/python3/dist-packages/snapcraft/internal/pluginhandler/__init__.py", line 885, in get_primed_dependency_paths
state = self.get_prime_state()
File "/usr/lib/python3/dist-packages/snapcraft/internal/pluginhandler/__init__.py", line 144, in get_prime_state
self._prime_state = cast(states.PrimeState, self.get_state(steps.PRIME))
File "/usr/lib/python3/dist-packages/snapcraft/internal/pluginhandler/__init__.py", line 148, in get_state
return states.get_state(self.plugin.statedir, step)
File "/usr/lib/python3/dist-packages/snapcraft/internal/states/_state.py", line 96, in get_state
state = yaml.load(f.read())
File "/usr/local/lib/python3.6/dist-packages/yaml/__init__.py", line 114, in load
return loader.get_single_data()
File "/usr/local/lib/python3.6/dist-packages/yaml/constructor.py", line 43, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python3.6/dist-packages/yaml/constructor.py", line 47, in construct_document
data = self.construct_object(node)
File "/usr/local/lib/python3.6/dist-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/local/lib/python3.6/dist-packages/yaml/constructor.py", line 420, in construct_undefined
node.start_mark)
yaml.constructor.ConstructorError: could not determine a constructor for the tag '!PrimeState'
in "<unicode string>", line 1, column 1:
!PrimeState
^
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed not a bug | Closed as a configuration issue: a system-wide Python package broke apt-installed Snapcraft, while Multipass lacked ARM64 support; maintainers recommended the Snapcraft snap and --use-lxd. | |
| stealth/space-bunny-alpha | — | closed not a bug | Closed after maintainer @sergiusens (2020-12-18) diagnosed two separate causes: Multipass is unsupported on arm64 (referred to the Multipass team) and the deb install broke on a host PyYAML in /usr/local. Advised using the snapcraft snap with --use-lxd; redirected discussion to the Snapcraft forum. | |
| stealth/space-bunny-alpha | — | closed stale | ARM64 Snapcraft failure report was closed without a documented resolution; LaunchPad bug 1907721 has no comments, linked fix, or recorded cause. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution or comments. The report detailed Snapcraft failures on ARM64 caused by Multipass/QEMU compatibility and a YAML deserialization error, but received no discussion or fix. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without comments. No fix or merge was applied. The ARM64 Multipass QEMU error and YAML !PrimeState deserialization bug were likely resolved by upstream Snapcraft updates or abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Reports Snapcraft ARM64 failures from Multipass/QEMU errors and a deprecated YAML loader in v2.43.1. Likely abandoned or superseded by newer Snapcraft releases that fixed YAML handling and QEMU support. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. Likely abandoned or superseded by newer Snapcraft versions that resolved the Multipass ARM64 incompatibility and YAML deserialization error. |
Update history
| Date | Change |
|---|---|
| created |
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #1984223 Snapcraft on riscv64 tries to install non-existent multipass snap | snapcraft (launchpad) | closed | Fixed in Snapcraft 9 where lxd became the default provider on riscv64, resolving the multipass installation prompt issue. | |
| #4443 snapcraft on ARM 64 - stuck at lxd | snapcraft | closed | The ARM64 hang was traced to missing LXD container networking, not a Snapcraft architecture defect; Snapcraft 7.5.4 added a timeout instead of looping indefinitely. | |
| #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. | |
| #5420 Snapcraft 7 fails to launch a LXD container based on host apt sources entries | snapcraft | closed | Closed as a duplicate of canonical/snapcraft#4408; no separate fix was made for this report. | |
| #1698888 Snapcraft dpkg-query error on multiarch OS | snapcraft (launchpad) | open | The 2017 multiarch `dpkg -L libc6` build failure was acknowledged, but the affected legacy code has since disappeared; current Snapcraft no longer contains that call. | |
| #5145 snapcraft fails to launch multipass instance when multipass isn't pre-installed | snapcraft | open | Snapcraft emits cryptic 'Remote "snapcraft" is unknown or unreachable / exit code 2' when Multipass can't launch the build instance; maintainer traced it to image-server unavailability or non-amd64 hosts, fix tracked in craft-providers#211 | |
| #1992213 Snapcraft crashes when the APT unprivileged user owns the host's source list file instead of root | snapcraft (launchpad) | open | Snapcraft 8187 crashed opening a 0600 _apt-owned APT metadata file. The legacy LXD path was removed, but equivalent current apt-cache checks still need review. | |
| #1999321 Snapcraft is stuck on "launching instance..." indefinitely | snapcraft (launchpad) | open | Endless LXD startup on failed container DNS now times out via craft-providers; Snapcraft 7.5.4 is recorded as fixing the wait. Multipass arm64 and Docker diagnostics remain separately tracked. | |
| #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. |