You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're attempting to update the rpi-imager snap 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 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 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:
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
name: rpi-imagerbase: core22adopt-info: imagewritersummary: Raspberry Pi Imagerwebsite: https://www.raspberrypi.com/software/source-code: https://github.com/raspberrypi/rpi-imagerissues: https://github.com/waveform80/imager-snapicon: images/rpi-imager.pnglicense: Apache-2.0description: | 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: lzograde: stableconfinement: strictapps:
rpi-imager:
command: usr/local/bin/rpi-imagerdesktop: usr/local/share/applications/org.raspberrypi.rpi-imager.desktopextensions: [kde-neon-6]environment:
DISABLE_WAYLAND: 1# Use GTK3 cursor theme, icon theme and open/save file dialogsQT_QPA_PLATFORMTHEME: gtk3plugs:
- 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 waylandparts:
imagewriter:
plugin: cmakecmake-parameters:
- -DENABLE_CHECK_VERSION=OFF
- -DQt6_ROOT=source: https://github.com/raspberrypi/rpi-imager.gitsource-subdir: srcsource-type: gitoverride-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.desktopbuild-packages:
- libgnutls28-dev
Relevant log output
/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
The text was updated successfully, but these errors were encountered:
Bug Description
We're attempting to update the rpi-imager snap 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 thekf6-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 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 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:
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
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
rpi-imager
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
Relevant log output
/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
The text was updated successfully, but these errors were encountered: