← Back to issue list

KDE Neon 6 broken on arm64

View original Github issue

Metadata

Project
snapcraft
Number
#5128
Type
issue
State
open
Author
waveform80
Labels
Created
Updated
Closed

Current evaluation

kde-neon-6 extension fails on arm64 because the kf6-core22 content snap is missing Qt6 libraries (73MB vs 2GB amd64). Filed 682 days ago, no maintainer response, only 1 user comment. Root cause is in the external KDE content snap, not snapcraft code.

Suggested action: needs triage

Reason: No maintainer has responded or labelled this issue in ~22 months. The root cause is the kf6-core22 content snap's arm64 build (external to snapcraft), so a maintainer needs to verify whether that snap has since been fixed by the KDE team before deciding to close, document the limitation, or keep open. The extension itself is still actively maintained with recent commits, so the issue is not clearly obsolete.

Impact: 45 Quick Win: 27.0 Staleness: 65 Complexity: 40 Confidence: 65 Support Request: 25

Issue body

### Bug Description We're attempting to update the [rpi-imager snap](https://snapcraft.io/rpi-imager) to use the `kde-neon-6` extension. The application has recently moved to Qt6, so this seemed like a reasonable opportunity to try the extension and potentially make the snap much smaller by not embedding most of Qt in it. The snap builds successfully and runs very nicely on amd64. However, on arm64, while the snap builds successfully, it fails to run, complaining that `libQt6Widgets.so.6` is missing. This is meant to come from the `kf6-core22` content snap and, indeed, on amd64 this is present. Unfortunately, the arm64 version of `kf6-core22` appears completely broken. For starters it's a mere 73MB compared to the amd64 variant's 2GB (!), and indeed it is missing Qt6 entirely. I checked the [snapstore page for kf6-core22](https://snapcraft.io/kf6-core22) but there's no contact information registered. In the absence of being able to file a bug against kf6-core22 itself, I figure the next best thing is to try filing a bug against the project with an official extension encouraging its use? It may at the least be worth mentioning on the [snapcraft extensions page](https://snapcraft.io/docs/supported-extensions) that, contrary to appearances, this extension is amd64 only currently? ### To Reproduce On an arm64 box (e.g. a Raspberry Pi 5) with a desktop installation: * Check out and build the snap: * `git clone https://github.com/waveform80/imager-snap` * `git checkout neon-6` * `snapcraft pack` * `sudo snap install --dangerous ./rpi-imager_1.9.0_amd64.snap` * Add the following connections (normally made automatically, but obviously not here with a local build): * `sudo snap connect rpi-imager:hardware-observe` * `sudo snap connect rpi-imager:mount-observe` * `sudo snap connect rpi-imager:network-manager` * `sudo snap connect rpi-imager:removable-media` * `sudo snap connect rpi-imager:udisks2` * Run `rpi-imager` * Observe failure while attempting to load shared library `libQt6Widgets.so.6` Compare the content of `/snap/kd6-core22/current/` between amd64 and arm64 and you should find the missing library located under usr/lib/{arch} on the amd64 variant, but not the arm64 one. ### Environment Built using LXD on Ubuntu 24.04 LTS on a PC (amd64) and a Raspberry Pi 5 (arm64). ### snapcraft.yaml ```yaml name: rpi-imager base: core22 adopt-info: imagewriter summary: Raspberry Pi Imager website: https://www.raspberrypi.com/software/ source-code: https://github.com/raspberrypi/rpi-imager issues: https://github.com/waveform80/imager-snap icon: images/rpi-imager.png license: Apache-2.0 description: | Raspberry Pi Imager is an easy to use application for installing Raspberry Pi OS, or other operating systems, to an SD card ready to use with your Raspberry Pi. Usage is as simple as: 1. Pick the Raspberry Pi board you want to use. 2. Pick the operating system you want to write. 3. Pick the storage you want to write it to (SD card, hard drive, SSD, etc.) 4. Click "NEXT", confirm you wish to overwrite your storage and wait! The application also verifies that the operating system has been written correctly after writing has finished. With certain operating system images, the imager also supports customizing the first boot configuration (you will be prompted for more information after selecting "NEXT" in this case). compression: lzo grade: stable confinement: strict apps: rpi-imager: command: usr/local/bin/rpi-imager desktop: usr/local/share/applications/org.raspberrypi.rpi-imager.desktop extensions: [kde-neon-6] environment: DISABLE_WAYLAND: 1 # Use GTK3 cursor theme, icon theme and open/save file dialogs QT_QPA_PLATFORMTHEME: gtk3 plugs: - home - removable-media # required to re-write first-boot configuration - mount-observe # required to report mounts on target media - network-manager # required to grab image - network-control - cifs-mount - udisks2 # required for writing to sd card - hardware-observe # required to find card with lsblk - gsettings # required for theming on wayland parts: imagewriter: plugin: cmake cmake-parameters: - -DENABLE_CHECK_VERSION=OFF - -DQt6_ROOT= source: https://github.com/raspberrypi/rpi-imager.git source-subdir: src source-type: git override-pull: | craftctl default last_committed_tag="$(git describe --tags $(git rev-list --tags --max-count=1))" last_committed_tag_ver="$(echo ${last_committed_tag} | sed 's/v//' )" git fetch git checkout "$last_committed_tag" echo "Building $last_committed_tag_ver" craftctl set version="$last_committed_tag_ver" # Strip out the vendored dependencies and embedded source if [ -d "$CRAFT_PART_SRC"/embedded ]; then rm -fr "$CRAFT_PART_SRC"/embedded fi # Point the icon to the right place sed -i -e \ 's|^Icon=rpi-imager|Icon=/usr/local/share/icons/hicolor/128x128/apps/rpi-imager.png|' \ "$CRAFT_PART_SRC"/src/linux/org.raspberrypi.rpi-imager.desktop build-packages: - libgnutls28-dev ``` ### Relevant log output ```shell /snap/rpi-imager/x1/usr/local/bin/rpi-imager: error while loading shared libraries: libQt6Widgets.so.6: cannot open shared object file: No such file or directory ``` ### Additional context _No response_

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 45
Quick Win: 27.0
Staleness: 65
Complexity: 40
Confidence: 65
Support Request: 25
needs triage kde-neon-6 extension fails on arm64 because the kf6-core22 content snap is missing Qt6 libraries (73MB vs 2GB amd64). Filed 682 days ago, no maintainer response, only 1 user comment. Root cause is in the external KDE content snap, not snapcraft code.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 40
Confidence: 85
Support Request: 20
close stale Issue reports kde-neon-6 extension broken on arm64 due to missing Qt6 libraries in kf6-core22 content snap. No maintainer response, inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 45
Confidence: 85
Support Request: 10
needs triage kde-neon-6 snap extension fails on arm64 due to missing Qt6 libraries in the kf6-core22 content snap. Currently unlabelled and untriaged with no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 30
Confidence: 75
Support Request: 20
needs triage kde-neon-6 extension fails on arm64 because the kf6-core22 content snap lacks Qt6 libraries, causing runtime crashes. Open and inactive for over a year, awaiting a fix or documentation noting arm64 incompatibility.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1881963 extension: kde-neon fails on arm64 snapcraft (launchpad) closed Abandoned due to inactivity. The kde-neon extension fails on arm64 because the kde-frameworks-5-core18 snap lacks arm64 builds, causing snapcraft to fail during prerequisite installation.
84%
#4148 kde-neon extension support for Qt6 snapcraft closed Resolved by releasing the kde-neon-6 extension, enabling Qt6 and KDE 6 support for snaps. The KDE team also published dedicated Qt6 SDK and content snaps. Developers can now use the extension or manually configure the available snaps to package Qt6 applications.
74%
#5288 kde-neon-6 extension is broken for core22 snapcraft closed The kde-neon-6 extension for core22 broke due to a Qt version mismatch from outdated Jammy repos. The neon team fixed the underlying issue, restoring functionality. The disabled spread test was re-enabled. Issue closed.
73%
#3925 kde-neon-extension: New content snap for kf5 5.98 and qt 5.15.6 snapcraft merged Merged a new KDE Neon content snap for kf5 5.98 and qt 5.15.6. Approved by a reviewer, passed CI checks, and applied a minor two-file change without impacting test coverage.
72%
#6017 XKB_CONFIG_ROOT pointing to non-existent directory in kde-neon-6/kde-neon-qt6 snapcraft open kde-neon-qt6 extension sets XKB_CONFIG_ROOT to $SNAP/qt6/usr/share/X11/xkb which does not exist in the kde-qt6-core24 content snap, causing xkbcommon errors and segfaults. No maintainer response in 207 days.
71%
#37 Building snaps with `kde-neon` extension is not working snapcraft-rocks open Snapcraft Docker images (ghcr.io/canonical/snapcraft:8_core22) fail to build snaps using the kde-neon extension: 'unable to determine source type of /usr/share/snapcraft/extensions/desktop/kde-neon'. Root cause is snapcraft's get_extensions_data_dir() hard-coding sys.prefix, which resolves to the wrong path in the Docker image. Confirmed still broken for core24/kde-neon-6 and GNOME in 2025.
71%
#5261 kde-neon extension fixes snapcraft merged Merged PR fixing KDE Neon extension by preventing duplicate X11 layouts and adding mesa libs to core24 ld library path. Approved by two reviewers and passed CI. Targeted for Snapcraft 8.8 and available on edge.
71%
#6297 Task: kde-neon-6 core26 support snapcraft open Enhancement task to add core26 support for kde-neon-6 Qt extension. Triaged and assigned to ScarlettGatelyMoore, who is actively working on related content snaps.
70%