Bug in 'gnome-3.38' extension prevents me from installing my snap

Dear Snap Community,

I hope you are having a nice day.

Today I added a Graphical Desktop component to my snap, and I used the gnome-3.38 extension to make this a lot easier.

Anyway, now I am getting to following error when I run snap install duckpowered_0.1a_amd64.snap --dangerous:

error: cannot perform the following tasks:
- Run configure hook of "duckpowered" snap if present (run hook "configure": cannot snap-exec: no such file or directory)

I am not using a configure hook (actually I’m not using any hooks at all), so I am sure that the gnome-3.38 extension is adding some hook that doesn’t work.

The snap is not installed at all after running this command.

Here is the output of snap version, in case it helps:

snap 2.57.5+22.04
snapd 2.57.5+22.04
series 16
ubuntu 22.04
kernel 5.15.0-52-generic

How can I resolve this bug in the extension?

Thank you for you time!


P.s. here is my snapcraft.yaml in case you need it:

name: duckpowered
base: core20
version: '0.1a'
summary: Intelligent power savings that don't effect performance.
description: |
  Tweet tweet.
grade: stable
confinement: strict

     bind: $SNAP/actual-service/shipping
     bind: $SNAP_DATA

    interface: cpu-control
     interface: system-observe
    extensions: [gnome-3-38]
    command: usr/bin/dash
    adapter: none
    command: usr/bin/run
    adapter: none
      - cpu-control
      - system-observe
    daemon: simple    

    plugin: dump
    source: ./actual-service
    override-build: |
      snapcraftctl build
      mkdir $SNAPCRAFT_PART_INSTALL/shipping
      cp /usr/bin/vmstat $SNAPCRAFT_PART_INSTALL/shipping
      cp /usr/bin/lscpu $SNAPCRAFT_PART_INSTALL/shipping
      cp /usr/bin/awk $SNAPCRAFT_PART_INSTALL/shipping
      cp /bin/cat $SNAPCRAFT_PART_INSTALL/shipping
      cp /usr/bin/tail $SNAPCRAFT_PART_INSTALL/shipping
      cp /usr/bin/tee $SNAPCRAFT_PART_INSTALL/shipping
      cp /bin/grep $SNAPCRAFT_PART_INSTALL/shipping
      apt -y install bash
      cp /bin/bash $SNAPCRAFT_PART_INSTALL/shipping
      chmod +x $SNAPCRAFT_PART_INSTALL/main.sh
      main.sh: usr/bin/run
    plugin: dump
    source: ./gui
    override-build: |
      snapcraftctl build
      snap install rustup --classic
      rustup install stable
      rustup default stable
      fallocate -l 8G /buildSwapfile
      chmod 600 /buildSwapfile
      mkswap /buildSwapfile
      swapon /buildSwapfile
      cargo install tauri-cli
      apt -y install libssl-dev
      cargo tauri build -b none
      cp ./src-tauri/target/release/duck-powered-dashboard .
      chmod +x ./duck-powered-dashboard
      rm -r ./src-tauri/target
      duck-powered-dashboard: usr/bin/dash

you are wiping out the existing content of /usr/bin i.e. you are hiding all binaries from your core20 base snap so internal tools can not run anymore …

try to instead simply add $SNAP/actual-service/shipping to your PATH

i’d also recommend to not overlay bash, tail, tee, awk or grep, they are all already available from your base snap without you shipping them (i think vmstat and lscpu as well but have not checked).


Thank you so much @ogra that was exactly the problem! :slight_smile: