← Back to issue list

`plugin: meson` no longer functional for Rust on `base:` < `core22` "Could not find an implementation of tomllib, nor toml2json"

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#2075493
Type
issue
State
open
Author
~saviq
Labels
—
Created
Updated
Closed
—

Current evaluation

Meson-based Rust builds on core20 fail after Meson 1.5 requires a TOML parser. Maintainers accepted the scenario and chose archive-installed build tools, but no implementation or resolution is recorded.

Suggested action: keep open

Reason: The debug log pinpoints Meson 1.5.1 failing because core20 lacks tomllib or toml2json, and mr-cal explicitly agreed that unpinned build tools on old bases should come from the Ubuntu archive. Implementing that cross-project behavior and its base-specific overrides needs design and compatibility tests, while the current support chart still lists core20 as supported by Snapcraft 8.

Evaluated by: mr-cal-bot

Impact: 52 Quick Win: 15 Complexity: 62 Confidence: 92 Actionability: 76

Issue body

Trying to rebuild a `base: core20` snap using `plugin: meson`, I now get: ``` $ snapcraft --debug Launching a VM. cSkipping pull anon-shm-preload (already ran) Skipping pull fonts (already ran) Skipping pull libfeedback (already ran) Skipping pull recipe-version (already ran) Skipping pull squeekboard-patches (already ran) Skipping pull squeekboard (already ran) 'gtk-prep' has dependencies that need to be staged: squeekboard Skipping pull squeekboard (already ran) Building squeekboard + snapcraftctl build + /usr/bin/python3 -m pip install -U meson Requirement already up-to-date: meson in /usr/local/lib/python3.8/dist-packages (1.5.1) + '[' '!' -f build.ninja ']' + meson --prefix /usr -Dstrict=false -Dbuildtype=release /root/parts/squeekboard/src/ The Meson build system Version: 1.5.1 Source dir: /root/parts/squeekboard/src Build dir: /root/parts/squeekboard/build Build type: native build ../src/meson.build:1:0: ERROR: Could not find an implementation of tomllib, nor toml2json ``` Meson 1.5.0 added a dependency on TOML parsing to support Cargo.toml: https://mesonbuild.com/Release-notes-for-1-5-0.html There are a couple possible workarounds: - `python3 -m pip -U install tomli` before `snapcraftctl build` - set `meson-version: 1.4.2` for the part

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 52
Quick Win: 15
Complexity: 62
Confidence: 92
Actionability: 76
keep open Meson-based Rust builds on core20 fail after Meson 1.5 requires a TOML parser. Maintainers accepted the scenario and chose archive-installed build tools, but no implementation or resolution is recorded.
stealth/space-bunny-alpha
Impact: 48
Quick Win: 17
Complexity: 58
Confidence: 91
Actionability: 82
keep open Open: Meson 1.5 installed by Snapcraft on core20 lacks a TOML parser, breaking Rust Meson builds; workarounds exist, and maintainers planned archive-based build-tool provisioning.
stealth/space-bunny-alpha
Impact: 58
Quick Win: 30
Complexity: 33
Confidence: 94
Actionability: 76
close stale Meson 1.5 breaks Rust builds on core20 because its Python 3.8 environment lacks a TOML parser. The report is reproducible and has workarounds; current Snapcraft 9 removes core20 support.
qwen3.6-35b-a3b-mtp-q6
Impact: 30
Quick Win: 18
Staleness: 85
Complexity: 40
Confidence: 55
Support Request: 15
close stale Meson plugin fails on base < core22 due to Meson 1.5.0 requiring tomllib for Cargo.toml parsing. Unlabelled, no maintainer response, inactive for 707 days.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 40
Confidence: 85
Support Request: 20
needs triage Untriaged report of meson plugin failing on older bases due to Meson 1.5+ TOML parsing requirement. No maintainer response or labels after over two years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 20
Confidence: 85
Support Request: 10
close stale Meson plugin fails on bases older than core22 due to missing TOML parsing dependencies after Meson 1.5.0. Over two years old with no maintainer response and includes workarounds.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 20
Confidence: 85
Support Request: 10
close stale Meson plugin fails on core20 base due to missing tomllib after Meson 1.5.0 update. Issue is two years old, has no maintainer response, and includes workarounds.

Update history

Date Change
created

Related issues

No related issues found above the similarity threshold.