Snap builds OK, fails to execute

I am trying to build a snap package for Fotoxx. After days of work I have a working build, but it fails to execute.

The error is “gtk_clutter_init() failed. Error: Can’t open display: :1”

The program runs OK if built with $ make install.

Here is my snapcraft.yaml file.

name: fotoxx version: ‘23.76’ summary: Edit photos and manage a large collection description: | Navigate a large image collection with a thumbnail browser. View and edit image files (RAW, jpeg, png, tiff …). Editing is done in 24 bits/color, output is 8 or 16 bits/color. Fotoxx has extensive tools for edit, repair, and special effects. View image updates as edit tools are applied interactively. Undo and redo within and across edit functions. File versioning: save and recall multiple edit stages. Select image features or areas to edit separately from background. Copy and paste area selections within and across images. Combine functions: HDR, HDF, panorama, stack, images/text mashup. Metadata edit and report: tags, captions, dates, locations … Search images using combination of metadata or folder/file names. Albums: select images and arranged order with drag and drop. Slide Show with animated transitions and pan/zoom. Scalable world map with image markers - click marker for gallery. Batch functions: convert, resize, upright, move, revise metatata. User Guide (English) describes all functions in great detail.

grade: stable confinement: strict base: core20 # Ubuntu 20.04 LTS

parts: fotoxx: plugin: make source-type: tar source: fotoxx-23.76-source.tar.gz build-packages: - g++ - make - libgtk-3-dev - liblcms2-dev - libtiff-dev - libpng-dev - libjpeg-dev - libclutter-1.0-dev - libclutter-gtk-1.0-dev - libchamplain-0.12-dev - libchamplain-gtk-0.12-dev stage-packages: - xdg-utils - x11-utils - binutils - dcraw - libimage-exiftool-perl - libatk-bridge2.0-0 - libatk1.0-0 - libatspi2.0-0 - libbrotli1 - libcairo-gobject2 - libcairo2 - libchamplain-0.12-0 - libchamplain-gtk-0.12-0 - libclutter-1.0-0 - libclutter-gtk-1.0-0 - libcogl-pango20 - libcogl-path20 - libcogl20 - libdatrie1 - libegl1 - libepoxy0 - libevdev2 - libfribidi0 - libgbm1 - libgdk-pixbuf2.0-0 - libgraphite2-3 - libgtk-3-0 - libgudev-1.0-0 - libharfbuzz0b - libicu66 - libinput10 - libjbig0 - libjson-glib-1.0-0 - libmtdev1 - libpango-1.0-0 - libpangocairo-1.0-0 - libpangoft2-1.0-0 - libpixman-1-0 - libpsl5 - libsoup2.4-1 - libthai0 - libtiff5 - libwacom2 - libwayland-client0 - libwayland-cursor0 - libwayland-egl1 - libwayland-server0 - libwebp6 - libxcb-render0 - libxcursor1 - libxdamage1 - libxkbcommon0 - libxml2

slots: fotoxx: interface: dbus bus: session name: fotoxx

apps: fotoxx: command: usr/bin/fotoxx plugs: - home # access user files in $HOME

Kindly format your post properly. Keep the code lines in between three backticks(`). Thus it’ll be formatted.

Apologies for the lack of format. Here is the yaml file, formatted.

name: fotoxx
version: '23.76'
summary: Edit photos and manage a large collection
description: |
  Navigate a large image collection with a thumbnail browser.
  View and edit image files (RAW, jpeg, png, tiff ...).
  Editing is done in 24 bits/color, output is 8 or 16 bits/color.
  Fotoxx has extensive tools for edit, repair, and special effects.
  View image updates as edit tools are applied interactively.
  Undo and redo within and across edit functions.
  File versioning: save and recall multiple edit stages.
  Select image features or areas to edit separately from background.
  Copy and paste area selections within and across images.
  Combine functions: HDR, HDF, panorama, stack, images/text mashup.
  Metadata edit and report: tags, captions, dates, locations ... 
  Search images using combination of metadata or folder/file names.
  Albums: select images and arranged order with drag and drop.
  Slide Show with animated transitions and pan/zoom.
  Scalable world map with image markers - click marker for gallery. 
  Batch functions: convert, resize, upright, move, revise metatata.
  User Guide (English) describes all functions in great detail.

grade: stable
confinement: classic          # unconfined, dangerous app 
base: core22                  # Ubuntu 22.04 LTS

parts:
   fotoxx:
      plugin: make
      source-type: tar
      source: fotoxx-23.76-source.tar.gz
      build-packages:
         - g++
         - make
         - libgtk-3-dev
         - liblcms2-dev
         - libtiff-dev
         - libpng-dev
         - libjpeg-dev
         - libclutter-1.0-dev
         - libclutter-gtk-1.0-dev
         - libchamplain-0.12-dev
         - libchamplain-gtk-0.12-dev
      stage-packages:
         - xdg-utils
         - x11-utils
         - binutils
         - dcraw
         - libimage-exiftool-perl
         - libatk-bridge2.0-0
         - libatk1.0-0
         - libatspi2.0-0
         - libcairo-gobject2
         - libcairo2
         - libchamplain-0.12-0
         - libchamplain-gtk-0.12-0
         - libclutter-1.0-0
         - libclutter-gtk-1.0-0
         - libcogl-pango20
         - libcogl-path20
         - libcogl20
         - libdatrie1
         - libepoxy0
         - libevdev2
         - libfribidi0
         - libgbm1
         - libgdk-pixbuf2.0-0
         - libgraphite2-3
         - libgtk-3-0
         - libgudev-1.0-0
         - libharfbuzz0b
         - libinput10
         - libjbig0
         - libjson-glib-1.0-0
         - libmtdev1
         - libpango-1.0-0
         - libpangocairo-1.0-0
         - libpangoft2-1.0-0
         - libpixman-1-0
         - libpsl5
         - libsoup2.4-1
         - libthai0
         - libtiff5
         - libwacom9
         - libwayland-client0
         - libwayland-cursor0
         - libwayland-egl1
         - libwayland-server0
         - libwebp7
         - libxcb-render0
         - libxcursor1
         - libxdamage1
         - libxkbcommon0
         - libxml2

apps:
  fotoxx:
    command: usr/bin/fotoxx
    plugs:
      - home                   # access user files in $HOME

Add x11 and wayland in plugs for display


Thanks, that makes a difference, but I am still lacking something.
Following is the protocol of two experiments:
#1 strict confinement: build works, app crashes at startup.
#2 classic confinement: build works (with hundreds of warnings) and app starts OK.
Must I use classic confinement or is something else missing in my snapcraft.yaml ?

=====================================================================

Experiment #1 of 2.
-------------------

The following snapcraft build works, but the resulting package crashes at startup.
Here is the snapcraft.yaml and the entire build and run protocol.

fotoxx-snap-u22 $: snapcraft clean
Cleaned build provider                                                                                                                                  

fotoxx-snap-u22 $: cat snapcraft.yaml 
name: fotoxx
version: '23.76'
summary: Edit photos and manage a large collection
description: |
  Navigate a large image collection with a thumbnail browser.
  View and edit image files (RAW, jpeg, png, tiff ...).
  Editing is done in 24 bits/color, output is 8 or 16 bits/color.
  Fotoxx has extensive tools for edit, repair, and special effects.
  View image updates as edit tools are applied interactively.
  Undo and redo within and across edit functions.
  File versioning: save and recall multiple edit stages.
  Select image features or areas to edit separately from background.
  Copy and paste area selections within and across images.
  Combine functions: HDR, HDF, panorama, stack, images/text mashup.
  Metadata edit and report: tags, captions, dates, locations ... 
  Search images using combination of metadata or folder/file names.
  Albums: select images and arranged order with drag and drop.
  Slide Show with animated transitions and pan/zoom.
  Scalable world map with image markers - click marker for gallery. 
  Batch functions: convert, resize, upright, move, revise metatata.
  User Guide (English) describes all functions in great detail.

grade: devel                  # devel or stable
confinement: strict           # strict crashes at startup, classic works
base: core22                  # Ubuntu 22.04 LTS

parts:
   fotoxx:
      plugin: make
      source-type: tar
      source: fotoxx-23.76-source.tar.gz
      build-packages:
         - g++
         - make
         - libgtk-3-dev
         - liblcms2-dev
         - libtiff-dev
         - libpng-dev
         - libjpeg-dev
         - libclutter-1.0-dev
         - libclutter-gtk-1.0-dev
         - libchamplain-0.12-dev
         - libchamplain-gtk-0.12-dev
      stage-packages:
         - xdg-utils
         - x11-utils
         - binutils
         - dcraw
         - libimage-exiftool-perl
         - libatk-bridge2.0-0
         - libatk1.0-0
         - libatspi2.0-0
         - libcairo-gobject2
         - libcairo2
         - libchamplain-0.12-0
         - libchamplain-gtk-0.12-0
         - libclutter-1.0-0
         - libclutter-gtk-1.0-0
         - libcogl-pango20
         - libcogl-path20
         - libcogl20
         - libdatrie1
         - libepoxy0
         - libevdev2
         - libfribidi0
         - libgbm1
         - libgdk-pixbuf2.0-0
         - libgraphite2-3
         - libgtk-3-0
         - libgudev-1.0-0
         - libharfbuzz0b
         - libinput10
         - libjbig0
         - libjson-glib-1.0-0
         - libmtdev1
         - libpango-1.0-0
         - libpangocairo-1.0-0
         - libpangoft2-1.0-0
         - libpixman-1-0
         - libpsl5
         - libsoup2.4-1
         - libthai0
         - libtiff5
         - libwacom9
         - libwayland-client0
         - libwayland-cursor0
         - libwayland-egl1
         - libwayland-server0
         - libwebp7
         - libxcb-render0
         - libxcursor1
         - libxdamage1
         - libxkbcommon0
         - libxml2
   
apps:
  fotoxx:
    command: usr/bin/fotoxx
    plugs:
      - home                     # access user files in $HOME
      - x11                      # monitor and keyboard access
      - wayland                  # wayland access


# install: $ sudo snap install ./fotoxx*.snap --dangerous --classic




fotoxx-snap-u22 $: snapcraft
Launching instance...                                                                                                                                                                                                                   
Executed: pull fotoxx                                                                                                                                                                                                                                                                            
Executed: build fotoxx                                                                                                                                                                                                                                                                           
Executed: stage fotoxx                                                                                                                                                                                                                                                                           
Executed: prime fotoxx                                                                                                                                                                                                                                                                           
Executed parts lifecycle                                                                                                                                                                                                                                                                         
Generated snap metadata                                                                                                                                                                                                                                                                          
Lint warnings:                                                                                                                                                                                                                                                                                   
- library: libEGL_mesa.so.0: unused library 'usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                         
- library: libGLX_mesa.so.0: unused library 'usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                         
- library: libcolordprivate.so.2: unused library 'usr/lib/x86_64-linux-gnu/libcolordprivate.so.2.0.5'. (https://snapcraft.io/docs/linters-library)                                                                                                                                               
- library: libdconf.so.1: unused library 'usr/lib/x86_64-linux-gnu/libdconf.so.1.0.0'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                               
- library: libgdk_pixbuf_xlib-2.0.so.0: unused library 'usr/lib/x86_64-linux-gnu/libgdk_pixbuf_xlib-2.0.so.0.4000.2'. (https://snapcraft.io/docs/linters-library)                                                                                                                                
- library: libicuio.so.70: unused library 'usr/lib/x86_64-linux-gnu/libicuio.so.70.1'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                               
- library: libicutest.so.70: unused library 'usr/lib/x86_64-linux-gnu/libicutest.so.70.1'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                           
Created snap package fotoxx_23.76_amd64.snap                                                                                                                                                                                                                                                     

fotoxx-snap-u22 $: sudo snap install fotoxx_23.76_amd64.snap --dangerous
fotoxx 23.76 installed

fotoxx-snap-u22 $: fotoxx
command: /snap/fotoxx/x32/usr/bin/fotoxx 
fotoxx-23.76 
program exe: /snap/fotoxx/x32/usr/bin/fotoxx 
build date/time: Nov 08 2023 19:57:55 
fotoxx home: /home/mico/snap/fotoxx/x32/.fotoxx 
-------------------------------------------
start fotoxx Wed Nov 08 20:59:55 

(fotoxx:95028): dbind-WARNING **: 20:59:55.563: Couldn't connect to accessibility bus: Failed to connect to socket /run/user/1000/at-spi/bus_1: Permission denied

(fotoxx:95028): Gtk-WARNING **: 20:59:55.569: Failed to parse /etc/gtk-3.0/settings.ini: Permission denied
Gtk-Message: 20:59:55.644: Failed to load module "canberra-gtk-module"
Gtk-Message: 20:59:55.649: Failed to load module "canberra-gtk-module"
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
libGL error: failed to load driver: swrast
sh: 1: lsb_release: not found
A fatal error has occurred. 
See zappcrash file in home folder.
Warning: locale not supported by Xlib, locale set to C
Warning: X locale modifiers not supported, using default
Warning: Input Method Open Failed
Warning: Unable to load any usable fontset

*** zappcrash: x86_64 ? ? fotoxx-23.76 Nov  8 2023 19:57:55 fatal signal: segment fault 
*** zappcrash context: (null) | (null) 
Segmentation fault (core dumped)

fotoxx-snap-u22 $: 

==============================================================================================================================================================================

Experiment #2 of 2
------------------

Change confinement from 'strict' to 'classic'.
The build works and the application seemingly runs OK.
The build produces hundreds of cryptic warnings, but apparently works.

fotoxx-snap-u22 $: cat snapcraft.yaml 
name: fotoxx
version: '23.76'
summary: Edit photos and manage a large collection
description: |
  Navigate a large image collection with a thumbnail browser.
  View and edit image files (RAW, jpeg, png, tiff ...).
  Editing is done in 24 bits/color, output is 8 or 16 bits/color.
  Fotoxx has extensive tools for edit, repair, and special effects.
  View image updates as edit tools are applied interactively.
  Undo and redo within and across edit functions.
  File versioning: save and recall multiple edit stages.
  Select image features or areas to edit separately from background.
  Copy and paste area selections within and across images.
  Combine functions: HDR, HDF, panorama, stack, images/text mashup.
  Metadata edit and report: tags, captions, dates, locations ... 
  Search images using combination of metadata or folder/file names.
  Albums: select images and arranged order with drag and drop.
  Slide Show with animated transitions and pan/zoom.
  Scalable world map with image markers - click marker for gallery. 
  Batch functions: convert, resize, upright, move, revise metatata.
  User Guide (English) describes all functions in great detail.

grade: devel                  # devel or stable
confinement: classic          # strict crashes at startup, classic works
base: core22                  # Ubuntu 22.04 LTS

parts:
   fotoxx:
      plugin: make
      source-type: tar
      source: fotoxx-23.76-source.tar.gz
      build-packages:
         - g++
         - make
         - libgtk-3-dev
         - liblcms2-dev
         - libtiff-dev
         - libpng-dev
         - libjpeg-dev
         - libclutter-1.0-dev
         - libclutter-gtk-1.0-dev
         - libchamplain-0.12-dev
         - libchamplain-gtk-0.12-dev
      stage-packages:
         - xdg-utils
         - x11-utils
         - binutils
         - dcraw
         - libimage-exiftool-perl
         - libatk-bridge2.0-0
         - libatk1.0-0
         - libatspi2.0-0
         - libcairo-gobject2
         - libcairo2
         - libchamplain-0.12-0
         - libchamplain-gtk-0.12-0
         - libclutter-1.0-0
         - libclutter-gtk-1.0-0
         - libcogl-pango20
         - libcogl-path20
         - libcogl20
         - libdatrie1
         - libepoxy0
         - libevdev2
         - libfribidi0
         - libgbm1
         - libgdk-pixbuf2.0-0
         - libgraphite2-3
         - libgtk-3-0
         - libgudev-1.0-0
         - libharfbuzz0b
         - libinput10
         - libjbig0
         - libjson-glib-1.0-0
         - libmtdev1
         - libpango-1.0-0
         - libpangocairo-1.0-0
         - libpangoft2-1.0-0
         - libpixman-1-0
         - libpsl5
         - libsoup2.4-1
         - libthai0
         - libtiff5
         - libwacom9
         - libwayland-client0
         - libwayland-cursor0
         - libwayland-egl1
         - libwayland-server0
         - libwebp7
         - libxcb-render0
         - libxcursor1
         - libxdamage1
         - libxkbcommon0
         - libxml2
   
apps:
  fotoxx:
    command: usr/bin/fotoxx
    plugs:
      - home                     # access user files in $HOME
      - x11                      # monitor and keyboard access
      - wayland                  # wayland access


# install: $ sudo snap install ./fotoxx*.snap --dangerous --classic


fotoxx-snap-u22 $: snapcraft clean
Cleaned build provider                                                                                                                                                                                                                                                                           

fotoxx-snap-u22 $: snapcraft
Launching instance...                                                                                                                                                                                                                                                                            
Executed: pull fotoxx                                                                                                                                                                                                                                                                            
Executed: build fotoxx                                                                                                                                                                                                                                                                           
Executed: stage fotoxx                                                                                                                                                                                                                                                                           
Executed: prime fotoxx                                                                                                                                                                                                                                                                           
Executed parts lifecycle                                                                                                                                                                                                                                                                         
Generated snap metadata                                                                                                                                                                                                                                                                          
Lint OK:                                                                                                                                                                                                                                                                                         
- classic: Snap confinement is set to classic.                                                                                                                                                                                                                                                   
Lint warnings:                                                                                                                                                                                                                                                                                   
- classic: lib/udev/libinput-device-group: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                       
- classic: lib/udev/libinput-device-group: ELF rpath should be set to '$ORIGIN/../../usr/lib/x86_64-linux-gnu:/snap



MOST OF THESE WERE REMOVED TO KEEP WITHIN THE 99K CHARACTER LIMIT


/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                            
- classic: lib/udev/libinput-fuzz-extract: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                       
- classic: lib/udev/libinput-fuzz-extract: ELF rpath should be set to '$ORIGIN/../../usr/lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                            
- classic: usr/bin/fc-list: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/bin/fc-match: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                     
- classic: usr/bin/fc-match: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                 
- classic: usr/bin/fc-pattern: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                   
- classic: usr/bin/fc-pattern: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                               
- classic: usr/bin/fc-query: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                     
- classic: usr/bin/fc-query: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                 
- classic: usr/bin/fc-scan: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                      
- classic: usr/bin/fc-scan: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/bin/fc-validate: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                  
- classic: usr/bin/fc-validate: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/bin/fotoxx: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                       
- classic: usr/bin/fotoxx: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                   
- classic: usr/bin/gtk-update-icon-cache: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                        
- classic: usr/bin/gtk-update-icon-cache: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                    
- classic: usr/bin/listres: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                      
- classic: usr/bin/listres: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/bin/luit: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                                         
- classic: usr/bin/luit: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                     
- classic: usr/bin/perl5.34-x86_64-linux-gnu: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                     
- classic: usr/bin/x86_64-linux-gnu-objcopy: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                 
- classic: usr/bin/x86_64-linux-gnu-objdump: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                     
- classic: usr/bin/x86_64-linux-gnu-objdump: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                 
- classic: usr/bin/x86_64-linux-gnu-ranlib: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                      
- classic: usr/bin/x86_64-linux-gnu-ranlib: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                  
- classic: usr/bin/x86_64-linux-gnu-readelf: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                     
- classic: usr/bin/x86_64-linux-gnu-readelf: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                 
- classic: usr/bin/x86_64-linux-gnu-size: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                        
- classic: usr/bin/x86_64-linux-gnu-size: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                    
- classic: usr/bin/x86_64-linux-gnu-strings: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                     
- classic: usr/bin/x86_64-linux-gnu-strings: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                 
- classic: usr/bin/x86_64-linux-gnu-strip: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                       
- classic: usr/bin/x86_64-linux-gnu-strip: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/lib/x86_64-linux-gnu/dri/i915_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/dri/iris_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                        
- classic: usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                           
- classic: usr/lib/x86_64-linux-gnu/dri/r300_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/dri/r600_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                          
- classic: usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                            
- classic: usr/lib/x86_64-linux-gnu/dri/virtio_gpu_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                        
- classic: usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                            
- classic: usr/lib/x86_64-linux-gnu/dri/zink_dri.so: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so: ELF rpath should be set to '$ORIGIN/../../..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                   
- classic: usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so: ELF rpath should be set to '$ORIGIN/../../..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                   
- classic: usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so: ELF rpath should be set to '$ORIGIN/../../..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                   
- classic: usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so: ELF rpath should be set to '$ORIGIN/../../..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                  
- classic: usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so: ELF rpath should be set /lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                 
- classic: usr/lib/x86_64-linux-gnu/libXau.so.6.0.0: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                         
- classic: usr/lib/x86_64-linux-gnu/libXaw7.so.7.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                          
- classic: usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                       
- classic: usr/lib/x86_64-linux-gnu/libXext.so.6.4.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/libXft.so.2.3.4: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                 
- classic: usr/lib/x86_64-linux-gnu/libXi.so.6.1.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                            
- classic: usr/lib/x86_64-linux-gnu/libXmu.so.6.2.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                 
- classic: usr/lib/x86_64-linux-gnu/libXmuu.so.1.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/lib/x86_64-linux-gnu/libXt.so.6.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libXv.so.1.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/lib/x86_64-linux-gnu/libXxf86dga.so.1.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                            
- classic: usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0: ELF rpath should be set to '$ORIGIN:/snap/core22- classic: usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                          
- classic: usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0: ELF rpath should be set to '$ORIGIN/..:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                           
- classic: usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2404.29: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                           
- classic: usr/lib/x86_64-linux-gnu/libgudev-1.0.so.0.3.0: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                   
- classic: usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.20704.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                        
- classic: usr/lib/x86_64-linux-gnu/libicui18n.so.70.1: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/libicuio.so.70.1: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libicutest.so.70.1: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                              
- classic: usr/lib/x86_64-linux-gnu/libicutu.so.70.1: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libicuuc.so.70.1: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                
- classic: usr/lib/x86_64-linux-gnu/libinput.so.10.13.0: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/lib/x86_64-linux-gnu/libjbig.so.0: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                            
- classic: usr/lib/x86_64-linux-gnu/libjpeg.so.8.2.2: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                        
- classic: usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0.600.6: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/lib/x86_64-linux-gnu/liblcms2.so.2.0.12: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                      
- classic: usr/lib/x86_64-linux-gnu/libmtdev.so.1.0.0: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                       
- classic: usr/lib/x86_64-linux-gnu/libopcodes-2.38-system.so: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                       
- classic: usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.5000.6: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                        
- classic: usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.5000.6: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                   
- classic: usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.5000.6: ELF rpath should be set to '$ORIGIN:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                     
- classic: usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                  
- classic: usr/lib/x86_64-linux-gnu/libperl.so.5.34.0: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                                       
- classic: usr/lib/x86_64-linux-gnu/libpixman-1.so.0.40.0: ELF rpath should be set to '/snap/core22/current- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Opcode/Opcode.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                       
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/POSIX/POSIX.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                         
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/PerlIO/encoding/encoding.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                            
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/PerlIO/mmap/mmap.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                    
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/PerlIO/scalar/scalar.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/PerlIO/via/via.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                      
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/SDBM_File/SDBM_File.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                 
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Socket/Socket.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                       
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Storable/Storable.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                   
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Sys/Hostname/Hostname.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                               
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Sys/Syslog/Syslog.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                   
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Time/HiRes/HiRes.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                    
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Time/Piece/Piece.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                    
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Unicode/Collate/Collate.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                             
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/Unicode/Normalize/Normalize.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                         
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/attributes/attributes.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                               
- classic: usr/lib/x86_64-linux-gnu/perl/5.34.0/auto/mro/mro.so: ELF rpath should be set to '/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                             
- classic: usr/libexec/glib-pacrunner: ELF interpreter should be set to '/snap/core22/current/lib64/ld-linux-x86-64.so.2'. (https://snapcraft.io/docs/linters-classic)                                                                                                                           
- classic: usr/libexec/glib-pacrunner: ELF rpath should be set to '$ORIGIN/../lib/x86_64-linux-gnu:/snap/core22/current/lib/x86_64-linux-gnu'. (https://snapcraft.io/docs/linters-classic)                                                                                                       
- library: libEGL_mesa.so.0: unused library 'usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                         
- library: libGLX_mesa.so.0: unused library 'usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                         
- library: libcolordprivate.so.2: unused library 'usr/lib/x86_64-linux-gnu/libcolordprivate.so.2.0.5'. (https://snapcraft.io/docs/linters-library)                                                                                                                                               
- library: libdconf.so.1: unused library 'usr/lib/x86_64-linux-gnu/libdconf.so.1.0.0'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                               
- library: libgdk_pixbuf_xlib-2.0.so.0: unused library 'usr/lib/x86_64-linux-gnu/libgdk_pixbuf_xlib-2.0.so.0.4000.2'. (https://snapcraft.io/docs/linters-library)                                                                                                                                
- library: libicuio.so.70: unused library 'usr/lib/x86_64-linux-gnu/libicuio.so.70.1'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                               
- library: libicutest.so.70: unused library 'usr/lib/x86_64-linux-gnu/libicutest.so.70.1'. (https://snapcraft.io/docs/linters-library)                                                                                                                                                           
Created snap package fotoxx_23.76_amd64.snap                                                                                                                                                                                                                                                     

fotoxx-snap-u22 $: sudo snap install fotoxx_23.76_amd64.snap --dangerous --classic
fotoxx 23.76 installed

fotoxx-snap-u22 $: fotoxx
command: /snap/fotoxx/x33/usr/bin/fotoxx 
fotoxx-23.76 
program exe: /snap/fotoxx/x33/usr/bin/fotoxx 
build date/time: Nov 08 2023 20:05:39 
fotoxx home: /home/mico/.fotoxx 
-------------------------------------------
start fotoxx Wed Nov 08 21:09:02 
GTK version: 3.24.33 
temp files: /home/mico/.fotoxx/temp/temp-108241 
file maps installed at /home/mico/.fotoxx/file_maps 
load_params()
m_viewmode F 
free real memory: 29582 MB 
image size limits for reasonable performance: 
  view: 4764 megapixels  edit: 447 megapixels 
using SMP thread count: 20 
locale desktop name: Desktop 
screen width: 3840  height: 2160 
Fblock(index,block edits)
top image folders: 
 /home2/mico/images/fotoxx-test
 /home2/mico/images/friends
 /home2/mico/images/funny
 /home2/mico/images/gallery
 /home2/mico/images/mico
 /home2/mico/images/space
 /home2/mico/images/stock
 /home2/mico/images/xx-test
 /home2/mico/images/xx-transit
 /home2/mico/images/xx-trash
 /home/mico/Desktop
free disk space: 130 GB 
thumbnails folder: /home/mico/.fotoxx/thumbnails 
extra metadata index: 
blacklist file: /home2/mico/images/fotoxx-test/failures/* 
full image index: reports will be complete 
dialog started: build index 
image index records found: 13964 
image files found: 13964 
index updates needed: 0  thumbnails: 0 
index updates: 0  thumbnail updates: 0, deletes: 0 
writing updated image index file 
all image files, including unmounted folders: 13964 
blacklist: /home2/mico/images/fotoxx-test/failures/DSCN7002.JPG 
blacklist: /home2/mico/images/fotoxx-test/failures/IMG_5807.JPG 
blacklist: /home2/mico/images/fotoxx-test/failures/fail0.png 
after removal of missing and blacklisted: 13961 
Image files: 13908 31.4 GB   RAW files: 53 1.7 GB 
thumbnails found: 13961 
thumbnails deleted: 0 
index time: 0.6 seconds 
Fblock(index,(null))
save_params()
m_viewmode F 
start gallery: /home2/mico/images/fotoxx-test 
start file: /home2/mico/images/fotoxx-test/2020.10 computer art.jpg 
startup time: 3.4 secs.
main window delete event 
m_quit 
Fblock(quit,edits)
Quit Fotoxx
save_params()
zexit: Fotoxx exit
Killed

fotoxx-snap-u22 $:

It’s better to use an extension. Add extensions: gnome in the apps.fotoxx part.

That does fix the problem that 'strict' confinement makes the app crash.
Thank you.

However this makes all files in user $HOME inaccessible, a fatal problem.
Fotoxx should be able to access image files that other apps like Gimp can also access. 
It seems 'classic' confinement is my only option - correct?

NEEDED
There should be a way for a user to open up access to designated folders under 
$HOME or even elsewhere, e.g. in a mounted volume.

Hi,

Given how you’ve started approaching this snap, I’d personally advise starting from scratch with a different approach.

From the sounds of it, your snap probably will fit the strict confinement model fairly well, the problems you’re having so far look to be due to taking inspiration from older, not so relevant content anymore. (I.E, it looks like you’ve copied the legacy snapcraft-desktop-helpers way of doing things, which are generally not recommended for most snaps these days).

The Gnome extension does a lot of work for you, it sets up some default plugs such as X11 and Wayland, and then configures the runtime to work with them. Similarly so, it sets up Pulseaudio support, graphics card drivers, etc.

But another big thing it does is provide a slightly different version of GTK3 and GTK4 libs than the Ubuntu repositories, meaning, the Gnome extension has its own versions of nearly everything you’ve currently got listed in build-packages and stage packages, and this can cause problems, beyond just making the build take longer for no real gain.

Personally, I’d suggest removing all the build packages and stage packages. With the Gnome extension added, attempt to build the snap with nothing in either of these two sections.

Then, from the position of having “just” the Gnome components, you’d be able to selectively add the build-packages and stage-packages one at a time, getting you to just the packages needed to actually run. The feedback from this will be both during the build step itself (E.G tools like CMake would tell you if build-packages are missing), and snapcraft itself may offer you a list of missing stage-packages once it runs the linter during the build process.

Similarly, when running at runtime, you might also get feedback in the terminal suggesting more packages.

I.E, I’d start from here:

name: fotoxx
version: '23.76'
summary: Edit photos and manage a large collection
description: |
  Navigate a large image collection with a thumbnail browser.
  View and edit image files (RAW, jpeg, png, tiff ...).
  Editing is done in 24 bits/color, output is 8 or 16 bits/color.
  Fotoxx has extensive tools for edit, repair, and special effects.
  View image updates as edit tools are applied interactively.
  Undo and redo within and across edit functions.
  File versioning: save and recall multiple edit stages.
  Select image features or areas to edit separately from background.
  Copy and paste area selections within and across images.
  Combine functions: HDR, HDF, panorama, stack, images/text mashup.
  Metadata edit and report: tags, captions, dates, locations ... 
  Search images using combination of metadata or folder/file names.
  Albums: select images and arranged order with drag and drop.
  Slide Show with animated transitions and pan/zoom.
  Scalable world map with image markers - click marker for gallery. 
  Batch functions: convert, resize, upright, move, revise metatata.
  User Guide (English) describes all functions in great detail.

grade: stable
confinement: strict
base: core22                  # Ubuntu 22.04 LTS
compression: lzo

parts:
   fotoxx:
      plugin: make
      source-type: tar
      source: fotoxx-23.76-source.tar.gz

apps:
  fotoxx:
    command: usr/bin/fotoxx
    plugs:
      - home
    extensions: [gnome]

The home interface should give you access to most of $HOME, Gimp itself is a strict snap, not a classic snap.

3 Likes
Thanks very much for the feedback and guidance. Just what I needed.
Are the snapcraft.io/docs/ so misleading? What is the alternative?

I will do as you suggest and report back.
Thanks again.

the are not, but the snapcraft code changes faster that the docs can keep up at times … asking here if you hit such an issue is probably best …

Yes, let’s hope the gurus don’t run out of patience.

I tried the much cleaner snapcraft.yaml as recommended by JC above.
The build failed (was successful with the my complex version).
Below is the snapcraft.yaml and the build log.

name: fotoxx
version: '23.76'
summary: Edit photos and manage a large collection
description: |
  Navigate folders in a large image collection using a thumbnail browser.
                           (description truncated for brevity)
grade: stable
confinement: strict
base: core22                  # Ubuntu 22.04 LTS
compression: lzo

parts:
   fotoxx:
      plugin: make
      source-type: tar
      source: fotoxx-23.76-source.tar.gz

apps:
  fotoxx:
    command: usr/bin/fotoxx
    plugs: [home]
    extensions: [gnome]

Build log
-------------
fotoxx-snap-u22 $: snapcraft clean
Cleaned build provider                                                                                                                                                                            

fotoxx-snap-u22 $: snapcraft
Launching instance...                                                                                                                                                                             
Executed: pull fotoxx                                                                                                                                                                             
Executed: pull gnome/sdk                                                                                                                                                                          
Failed to run the build script for part 'fotoxx'.                                                                                                                                                 
Failed to execute pack in instance.                                                                                                                                                               
Full execution log: '/home/mico/.local/state/snapcraft/log/snapcraft-20231109-135702.416191.log'                                                                                                  

fotoxx-snap-u22 $: cat /home/mico/.local/state/snapcraft/log/snapcraft-20231109-135702.416191.log
2023-11-09 13:57:02.416 Starting Snapcraft 7.5.3
2023-11-09 13:57:02.417 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_plugins=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2023-11-09 13:57:02.417 command: pack, arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_plugins=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2023-11-09 13:57:02.425 CPU count (from process affinity): 20
2023-11-09 13:57:02.425 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT ''
2023-11-09 13:57:02.425 Running on amd64 for amd64
2023-11-09 13:57:02.427 Checking build provider availability
2023-11-09 13:57:02.432 Retrieved snap config: {}
2023-11-09 13:57:02.432 Using default provider 'lxd' on linux system.
2023-11-09 13:57:02.481 Executing on host: lxc --project default profile show local:default
2023-11-09 13:57:02.515 Using hostname 'snapcraft-fotoxx-on-amd64-for-amd64-2492839'
2023-11-09 13:57:02.515 Launching instance...
2023-11-09 13:57:02.515 Executing on host: lxc remote list --format=yaml
2023-11-09 13:57:02.549 Remote 'craft-com.ubuntu.cloud-buildd' already exists.
2023-11-09 13:57:02.549 Executing on host: lxc project list local: --format=yaml
2023-11-09 13:57:02.587 Set LXD instance name to 'snapcraft-fotoxx-on-amd64-for-amd64-2492839'
2023-11-09 13:57:02.587 Checking for instance 'snapcraft-fotoxx-on-amd64-for-amd64-2492839' in project 'snapcraft' in remote 'local'
2023-11-09 13:57:02.587 Executing on host: lxc --project snapcraft list local: --format=yaml
2023-11-09 13:57:02.652 Instance 'snapcraft-fotoxx-on-amd64-for-amd64-2492839' does not exist.
2023-11-09 13:57:02.653 Set LXD instance name to 'base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48'
2023-11-09 13:57:02.653 Checking for base instance 'base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48' in project 'snapcraft' in remote 'local'
2023-11-09 13:57:02.653 Executing on host: lxc --project snapcraft list local: --format=yaml
2023-11-09 13:57:02.713 Checking validity of instance 'base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48'.
2023-11-09 13:57:02.713 Executing on host: lxc --project snapcraft info local:base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48
2023-11-09 13:57:02.768 Instance is valid.
2023-11-09 13:57:02.768 Creating instance from base instance 'base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48'
2023-11-09 13:57:02.768 Executing on host: lxc --project snapcraft list local: --format=yaml
2023-11-09 13:57:02.837 Executing on host: lxc --project snapcraft copy local:base-instance-snapcraft-buildd-base-v10--2d55678e0339df02cd48 local:snapcraft-fotoxx-on-amd64-for-amd64-2492839
2023-11-09 13:57:05.082 Executing on host: lxc --project snapcraft list local: --format=yaml
2023-11-09 13:57:05.142 Executing on host: lxc --project snapcraft config set local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 raw.idmap 'both 1000 0'
2023-11-09 13:57:05.187 Starting instance.
2023-11-09 13:57:05.187 Executing on host: lxc --project snapcraft start local:snapcraft-fotoxx-on-amd64-for-amd64-2492839
2023-11-09 13:57:05.669 Executing on host: lxc --project snapcraft file push /tmp/tmp_ldaf33p local:snapcraft-fotoxx-on-amd64-for-amd64-2492839/etc/hostname --mode=0644
2023-11-09 13:57:05.736 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /etc/hostname
2023-11-09 13:57:05.789 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 hostname -F /etc/hostname
2023-11-09 13:57:05.906 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 test -f /etc/craft-instance.conf
2023-11-09 13:57:05.964 Executing on host: lxc --project snapcraft file pull local:snapcraft-fotoxx-on-amd64-for-amd64-2492839/etc/craft-instance.conf /home/mico/tmp7igv948b.tmp-craft/tmpw79gv42p
2023-11-09 13:57:06.008 Instance has already been setup.
2023-11-09 13:57:06.008 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 cat /etc/os-release
2023-11-09 13:57:06.107 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 test -f /etc/craft-instance.conf
2023-11-09 13:57:06.226 Executing on host: lxc --project snapcraft file pull local:snapcraft-fotoxx-on-amd64-for-amd64-2492839/etc/craft-instance.conf /home/mico/tmp7axqoe8r.tmp-craft/tmphsoseuud
2023-11-09 13:57:06.269 Instance is compatible with compatibility tag 'snapcraft-buildd-base-v1.0'
2023-11-09 13:57:06.269 Waiting for environment to be ready...
2023-11-09 13:57:06.269 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:06.364 systemctl is-system-running status: starting
2023-11-09 13:57:06.614 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:06.696 systemctl is-system-running status: starting
2023-11-09 13:57:06.947 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:07.047 systemctl is-system-running status: starting
2023-11-09 13:57:07.297 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:07.370 systemctl is-system-running status: starting
2023-11-09 13:57:07.620 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:07.688 systemctl is-system-running status: starting
2023-11-09 13:57:07.939 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:08.023 systemctl is-system-running status: starting
2023-11-09 13:57:08.274 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:08.339 systemctl is-system-running status: starting
2023-11-09 13:57:08.590 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 systemctl is-system-running
2023-11-09 13:57:08.686 Waiting for networking to be ready...
2023-11-09 13:57:08.687 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 getent hosts snapcraft.io
2023-11-09 13:57:08.815 Holding refreshes for snaps.
2023-11-09 13:57:08.815 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 snap set system refresh.hold=2023-11-10T13:57:08.815312Z
2023-11-09 13:57:09.100 Waiting for pending snap refreshes to complete.
2023-11-09 13:57:09.100 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 snap watch '--last=auto-refresh?'
2023-11-09 13:57:09.240 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 snap unset system proxy.http
2023-11-09 13:57:09.467 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 snap unset system proxy.https
2023-11-09 13:57:09.708 Installing snap 'snapcraft' with channel=None and classic=True
2023-11-09 13:57:09.708 Installing snap 'snapcraft' from host (classic=True)
2023-11-09 13:57:09.720 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 test -f /etc/craft-instance.conf
2023-11-09 13:57:09.840 Executing on host: lxc --project snapcraft file pull local:snapcraft-fotoxx-on-amd64-for-amd64-2492839/etc/craft-instance.conf /home/mico/tmpe6o0sjha.tmp-craft/tmp_4edmodw
2023-11-09 13:57:09.895 Revisions found: host='9726', target='9726'
2023-11-09 13:57:09.895 Skipping snap injection: target is already up-to-date with revision on host
2023-11-09 13:57:09.896 Executing on host: lxc --project snapcraft config device show local:snapcraft-fotoxx-on-amd64-for-amd64-2492839
2023-11-09 13:57:09.936 Executing on host: lxc --project snapcraft config device add local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 disk-/root/project disk source=/home/mico/fotoxx-snap-u22 path=/root/project
2023-11-09 13:57:10.007 Executing on host: lxc --project snapcraft file push /tmp/tmpeomgkp_d local:snapcraft-fotoxx-on-amd64-for-amd64-2492839/root/.bashrc --mode=644
2023-11-09 13:57:10.054 Executing in container: lxc --project snapcraft exec local:snapcraft-fotoxx-on-amd64-for-amd64-2492839 -- env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin SNAPCRAFT_MANAGED_MODE=1 chown root:root /root/.bashrc
2023-11-09 13:57:10.133 Emitter: Pausing control of the terminal
2023-11-09 13:59:46.593 Emitter: Resuming control of the terminal
2023-11-09 13:59:46.751 Logs retrieved from managed instance:
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.466 Starting Snapcraft 7.5.3
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.467 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for='amd64', debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_plugins=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.467 command: pack, arguments: Namespace(bind_ssh=False, build_for='amd64', debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_plugins=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.476 CPU count (from process affinity): 20
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.476 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT ''
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.476 Running on amd64 for amd64
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.479 Initializing parts lifecycle
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.479 is_snap: True, SNAP_NAME set to snapcraft
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.480 process fotoxx:Step.PULL
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.480 add action fotoxx:Step.PULL(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 process gnome/sdk:Step.PULL
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 add action gnome/sdk:Step.PULL(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 process fotoxx:Step.BUILD
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 add action fotoxx:Step.BUILD(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 process gnome/sdk:Step.BUILD
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 add action gnome/sdk:Step.BUILD(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 process fotoxx:Step.STAGE
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 add action fotoxx:Step.STAGE(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.481 process gnome/sdk:Step.STAGE
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.482 add action gnome/sdk:Step.STAGE(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.482 process fotoxx:Step.PRIME
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.482 add action fotoxx:Step.PRIME(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.482 process gnome/sdk:Step.PRIME
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.482 add action gnome/sdk:Step.PRIME(ActionType.RUN)
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.482 Executing parts lifecycle...
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.483 source build packages: {'tar'}
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.483 plugin build packages: {'gcc', 'make'}
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.484 ignore patterns: ['*.snap']
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.484 plugin build packages: {'gcc', 'make'}
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.484 part build snaps: ['gnome-42-2204-sdk']
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:14.484 Requested build-packages: ['gcc', 'make', 'tar']
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.600 Marking tar (and its dependencies) to be fetched
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.600 package: tar
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.610 Marking gcc (and its dependencies) to be fetched
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.610 package: gcc
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.615 Marking make (and its dependencies) to be fetched
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.615 package: make
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:15.636 Requested build-packages already installed: ['gcc', 'make', 'tar']
2023-11-09 13:59:46.751 :: 2023-11-09 12:57:16.171 Installing snap: gnome-42-2204
2023-11-09 13:59:46.751 :: 2023-11-09 12:58:55.014 Installing snap: gnome-42-2204-sdk
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:23.048 Installing snap: gtk-common-themes
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.141 verify plugin environment for part 'fotoxx'
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.143 verify plugin environment for part 'gnome/sdk'
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.144 Executing parts lifecycle: pull fotoxx
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.145 Executing action
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.146 execute action fotoxx:Action(part_name='fotoxx', step=Step.PULL, action_type=ActionType.RUN, reason=None, project_vars=None, properties=ActionProperties(changed_files=None, changed_dirs=None))
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.490 Executed: pull fotoxx
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.490 Executing parts lifecycle: pull gnome/sdk
2023-11-09 13:59:46.751 :: 2023-11-09 12:59:45.490 Executing action
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.491 execute action gnome/sdk:Action(part_name='gnome/sdk', step=Step.PULL, action_type=ActionType.RUN, reason=None, project_vars=None, properties=ActionProperties(changed_files=None, changed_dirs=None))
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.510 Executed: pull gnome/sdk
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.510 Executing parts lifecycle: build fotoxx
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.510 Executing action
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.510 execute action fotoxx:Action(part_name='fotoxx', step=Step.BUILD, action_type=ActionType.RUN, reason=None, project_vars=None, properties=ActionProperties(changed_files=None, changed_dirs=None))
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.511 load state file: /root/parts/fotoxx/state/pull
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.519 remove directory /root/parts/fotoxx/build
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.547 Executing PosixPath('/root/parts/fotoxx/run/build.sh')
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.550 :: + make -j20
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 :: g++ fotoxx.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` -o fotoxx.o \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 :: g++ f.widgets.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 :: g++ f.file.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 :: g++ f.gallery.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 :: g++ f.albums.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.571 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.select.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.meta.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.edit.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.repair.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.refine.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.effects.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.warp.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.comb.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.mashup.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 :: g++ f.tools.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.572 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.573 :: g++ f.batch.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.573 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.573 :: g++ f.pixmap.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.573 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.573 :: g++ zfuncs.cc -fpermissive -Wno-write-strings  -Wno-deprecated-declarations       			 -Wno-class-memaccess                       -Wall -g2 -rdynamic -O2 -Wno-format-truncation -Wno-stringop-truncation  -c `pkg-config --cflags gtk+-3.0 --libs champlain-gtk-0.12` \
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.573 ::
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Package champlain-gtk-0.12 was not found in the pkg-config search path.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: Perhaps you should add the directory containing `champlain-gtk-0.12.pc'
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: to the PKG_CONFIG_PATH environment variable
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:45.727 :: No package 'champlain-gtk-0.12' found
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.257 :: In file included from f.select.cc:81:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.mashup.cc:29:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.comb.cc:35:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.refine.cc:40:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.warp.cc:43:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.albums.cc:51:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.repair.cc:49:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.pixmap.cc:110:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.edit.cc:54:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from fotoxx.cc:113:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.file.cc:84:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.gallery.cc:92:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.widgets.cc:34:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.batch.cc:39:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.meta.cc:128:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.effects.cc:50:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: In file included from f.tools.cc:55:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: fotoxx.h:22:10: fatal error: tiffio.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::    22 | #include <tiffio.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 ::       |          ^~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.258 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.296 :: make: *** [Makefile:83: f.comb.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.296 :: make: *** Waiting for unfinished jobs....
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:77: f.effects.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:95: f.pixmap.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:86: f.mashup.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:74: f.refine.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:89: f.tools.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:56: f.gallery.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:62: f.select.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:50: f.widgets.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:53: f.file.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:71: f.repair.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:80: f.warp.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:65: f.meta.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:68: f.edit.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:92: f.batch.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:47: fotoxx.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.297 :: make: *** [Makefile:59: f.albums.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.432 :: In file included from zfuncs.cc:21:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.432 :: zfuncs.h:43:10: fatal error: gtk/gtk.h: No such file or directory
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.432 ::    43 | #include <gtk/gtk.h>
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.432 ::       |          ^~~~~~~~~~~
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.432 :: compilation terminated.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.434 :: make: *** [Makefile:98: zfuncs.o] Error 1
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.435 Failed to run the build script for part 'fotoxx'.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 Traceback (most recent call last):
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/step_handler.py", line 146, in _builtin_build
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     _create_and_run_script(
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/step_handler.py", line 409, in _create_and_run_script
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     subprocess.run(
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/usr/lib/python3.8/subprocess.py", line 516, in run
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     raise CalledProcessError(retcode, process.args,
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 subprocess.CalledProcessError: Command '[PosixPath('/root/parts/fotoxx/run/build.sh')]' returned non-zero exit status 2.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 The above exception was the direct cause of the following exception:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 Traceback (most recent call last):
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/parts.py", line 191, in run
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     aex.execute(action, stdout=stream, stderr=stream)
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/executor.py", line 304, in execute
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     self._executor.execute(actions, stdout=stdout, stderr=stderr)
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/executor.py", line 128, in execute
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     self._run_action(act, stdout=stdout, stderr=stderr)
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/executor.py", line 193, in _run_action
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     handler.run_action(action, stdout=stdout, stderr=stderr)
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/part_handler.py", line 172, in run_action
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     state = handler(step_info, stdout=stdout, stderr=stderr)
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/part_handler.py", line 309, in _run_build
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     self._run_step(
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/part_handler.py", line 493, in _run_step
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     return step_handler.run_builtin()
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/step_handler.py", line 106, in run_builtin
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     return handler()
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_parts/executor/step_handler.py", line 155, in _builtin_build
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     raise errors.PluginBuildError(part_name=self._part.name) from process_error
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 craft_parts.errors.PluginBuildError: Failed to run the build script for part 'fotoxx'.
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 The above exception was the direct cause of the following exception:
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 Traceback (most recent call last):
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 302, in _run_command
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     _run_lifecycle_and_pack(
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 345, in _run_lifecycle_and_pack
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     lifecycle.run(
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439   File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/parts.py", line 206, in run
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439     raise errors.PartsLifecycleError(str(err)) from err
2023-11-09 13:59:46.752 :: 2023-11-09 12:59:46.439 snapcraft.errors.PartsLifecycleError: Failed to run the build script for part 'fotoxx'.
2023-11-09 13:59:48.037 Failed to execute pack in instance.
2023-11-09 13:59:48.037 Detailed information: Run the same command again with --debug to shell into the environment if you wish to introspect this failure.
2023-11-09 13:59:48.038 Traceback (most recent call last):
2023-11-09 13:59:48.038   File "/snap/snapcraft/9726/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 577, in _run_in_provider
2023-11-09 13:59:48.038     instance.execute_run(cmd, check=True, cwd=output_dir)
2023-11-09 13:59:48.038   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run
2023-11-09 13:59:48.038     return self.lxc.exec(
2023-11-09 13:59:48.038   File "/snap/snapcraft/9726/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 371, in exec
2023-11-09 13:59:48.038     return runner(final_cmd, **kwargs)  # pylint: disable=subprocess-run-check
2023-11-09 13:59:48.038   File "/snap/snapcraft/9726/usr/lib/python3.8/subprocess.py", line 516, in run
2023-11-09 13:59:48.038     raise CalledProcessError(retcode, process.args,
2023-11-09 13:59:48.038 subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-fotoxx-on-amd64-for-amd64-2492839', '--cwd', '/root/project', '--', 'env', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'snapcraft', 'pack', '--verbosity=brief', '--build-for', 'amd64']' returned non-zero exit status 1.
2023-11-09 13:59:48.038 Full execution log: '/home/mico/.local/state/snapcraft/log/snapcraft-20231109-135702.416191.log'

fotoxx-snap-u22 $:

Add this in the parts.fotoxx.build-environment

PKG_CONFIG_PATH: /snap/gnome-42-2204-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig:/snap/gnome-42-2204-sdk/current/usr/lib/pkgconfig

If it not fixes add

LDFLAGS: I/snap/gnome-42-2204-sdk/current/usr/include  I/snap/gnome-42-2204-sdk/current/usr/include/$CRAFT_ARCH_TRIPLET

There’s also a chance the Gnome extension doesn’t have libchamplain, in which case, try removing the two additions above (purely because it’s best to not have things included if they’re not doing what they’re expected to) and instead adding libchamplain-0.12-0 as your first build package, then rebuilding the snap and keep working in this manner of fixing the build errors one at a time until you’ve the minimal set needed.

But it also says that it’s unable to find gtk/gtk.h. And you’re obviously right about adding libchampion it’s not in the sdk.

The extension should be adding itself to the PKG_CONFIG_PATH though, I agree those errors are unexpected and PKG_CONFIG_PATH makes sense to change if we were seeing them, but in general cases you shouldn’t have to modify the PKG_CONFIG_PATH for the Gnome extension itself. It might be the Makefile itself is playing a role there that we can’t see.

It’s definitely worth a go, but if it actually does resolve the problem, I wouldn’t say it was the ideal fix because it’s masking over problems elsewhere (potentially with Snapcraft itself); and it’s easier to know if that’s the case when it’s not mixed with other easily resolved problems.

Okay… actually you put up a good point, because I have done this several times.

https://github.com/soumyaDghosh/identity-snap/blob/main/snap/snapcraft.yaml#L51 https://github.com/soumyaDghosh/video-trimmer-snap/blob/master/snap/snapcraft.yaml#L35 https://github.com/diegopvlk/Dosage/blob/main/snap/snapcraft.yaml#L22

https://github.com/soumyaDghosh/unlockr-snap/blob/main/snap/snapcraft.yaml#L37

https://github.com/soumyaDghosh/clapper-snap/blob/main/snap/snapcraft.yaml#L364

I am not sure why such happens. But, I never gave a deep thought on this

The build problems are solved, but the program does not execute.
It is not able to create a folder .fotoxx under the private $HOME. 
There are several other problems shown in the log file.

I believe strict confinement will not work because access is needed
for files on mounted volumes or on a server or otherwise outside of $HOME.
Why not allow access to any file owned by the user or with 'other' r/w access?
Fotoxx has many users with large image libraries not under $HOME, so I want
to give up on strict confinement. (Maybe I need more education here).
With present use of gnome extension, classic confinement is blocked. 

The best option so far seems to be my prior snapcraft.yaml with 
classic confinement and the huge list of stage packages.

Here is the present snapcraft.yaml, build, and execute log.

fotoxx-snapcraft $: 

fotoxx-snapcraft $: snapcraft clean
Cleaned build provider                                                                                                                                                                          

fotoxx-snapcraft $: cat snapcraft.yaml 
name: fotoxx
version: '23.76'
summary: Edit photos and manage a large collection
description: |
  Navigate folders in a large image collection using a thumbnail browser.
  View and edit image files (RAW, jpeg, png, tiff ...). Zoom/pan/scroll.
  Internal editing uses 24 bits per color, output is 8 or 16 bits.
  Fotoxx has extensive tools for edit, repair, enhance, special effects.
  View image updates interactively as edits are made, usually < 1 second.
  Undo and redo within an edit function and across multiple functions.
  File versioning: save and recall multiple edit stages, before/after.
  Select image features or areas to edit separately from background.
  Copy and paste area selections within and across images.
  Combine functions: HDR, HDF, panorama, stack, images/text mashup.
  Metadata edit and report: tags, captions, dates, locations ... 
  Search images using folder/file names and any metadata (wildcards too).
  Albums: select images and arrange their order using thumbnail drags.
  Albums can be automatically updated when underlying images are edited.
  Slide Show with animated transitions, text, and image pan/zoom.
  Scalable world map with location markers - click for thumbnail gallery. 
  Batch functions: convert, resize, upright, move, add/revise metatata.
  User Guide (English) describes all functionality in great detail.

grade: stable
confinement: strict           # classic conflicts with gnome extension 
base: core22
compression: lzo

parts:
   fotoxx:
      plugin: make
      source-type: tar
      source: fotoxx-23.76-source.tar.gz
      build-packages:
         - libchamplain-0.12-dev             # not included in gnome extension 
         - libchamplain-gtk-0.12-dev
      stage-packages:
         - xdg-utils                         # outboard programs
         - x11-utils
         - binutils
         - dcraw
         - libimage-exiftool-perl
         - libchamplain-0.12-0
         - libchamplain-gtk-0.12-0

apps:
  fotoxx:
    command: usr/bin/fotoxx
    plugs: [home]
    extensions: [gnome]

# install: $ sudo snap install fotoxx_23.76_amd64.snap --dangerous --classic



fotoxx-snapcraft $: snapcraft
Launching instance...                                                                                                                                                                           
Executed: pull fotoxx                                                                                                                                                                           
Executed: pull gnome/sdk                                                                                                                                                                        
Executed: build fotoxx                                                                                                                                                                          
Executed: build gnome/sdk                                                                                                                                                                       
Executed: stage fotoxx                                                                                                                                                                          
Executed: stage gnome/sdk                                                                                                                                                                       
Executed: prime fotoxx                                                                                                                                                                          
Executed: prime gnome/sdk                                                                                                                                                                       
Executed parts lifecycle                                                                                                                                                                        
Generated snap metadata                                                                                                                                                                         
Lint warnings:                                                                                                                                                                                  
- library: libEGL_mesa.so.0: unused library 'usr/lib/x86_64-linux-gnu/libEGL_mesa.so.0.0.0'. (https://snapcraft.io/docs/linters-library)                                                        
- library: libGLX_mesa.so.0: unused library 'usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0'. (https://snapcraft.io/docs/linters-library)                                                        
- library: libcolordprivate.so.2: unused library 'usr/lib/x86_64-linux-gnu/libcolordprivate.so.2.0.5'. (https://snapcraft.io/docs/linters-library)                                              
- library: libdconf.so.1: unused library 'usr/lib/x86_64-linux-gnu/libdconf.so.1.0.0'. (https://snapcraft.io/docs/linters-library)                                                              
- library: libicuio.so.70: unused library 'usr/lib/x86_64-linux-gnu/libicuio.so.70.1'. (https://snapcraft.io/docs/linters-library)                                                              
- library: libicutest.so.70: unused library 'usr/lib/x86_64-linux-gnu/libicutest.so.70.1'. (https://snapcraft.io/docs/linters-library)                                                          
Created snap package fotoxx_23.76_amd64.snap                                                                                                                                                    

fotoxx-snapcraft $: sudo snap install fotoxx_23.76_amd64.snap --dangerous
fotoxx 23.76 installed

fotoxx-snapcraft $: fotoxx
Warning: Schema “org.gnome.system.locale” has path “/system/locale/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy” has path “/system/proxy/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.http” has path “/system/proxy/http/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.https” has path “/system/proxy/https/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.ftp” has path “/system/proxy/ftp/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
Warning: Schema “org.gnome.system.proxy.socks” has path “/system/proxy/socks/”.  Paths starting with “/apps/”, “/desktop/” or “/system/” are deprecated.
command: /snap/fotoxx/x40/usr/bin/fotoxx 
fotoxx-23.76 
program exe: /snap/fotoxx/x40/usr/bin/fotoxx 
build date/time: Nov 09 2023 22:35:39 
fotoxx home: /home/mico/snap/fotoxx/x40/.fotoxx 
-------------------------------------------
start fotoxx Thu Nov 09 23:39:05 
Gtk-Message: 23:39:05.913: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.

(fotoxx:286703): Gtk-WARNING **: 23:39:05.965: GTK+ module /snap/fotoxx/x40/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 23:39:05.965: Failed to load module "canberra-gtk-module"

(fotoxx:286703): Gtk-WARNING **: 23:39:05.966: GTK+ module /snap/fotoxx/x40/gnome-platform/usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so cannot be loaded.
GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported.
Gtk-Message: 23:39:05.966: Failed to load module "canberra-gtk-module"
GTK version: 3.24.33 
No such schema “org.gnome.mutter”
zshell: gsettings set org.gnome.mutter check-alive-timeout 10000 
zshell error: Operation not permitted 
sh: 1: pidof: Permission denied
temp files: /home/mico/snap/fotoxx/x40/.fotoxx/temp/temp-286703 
file maps not installed 
load_params()
m_viewmode F 
free real memory: 29554 MB 
image size limits for reasonable performance: 
  view: 4759 megapixels  edit: 446 megapixels 
sh: 1: lscpu: Permission denied
using SMP thread count: 4 
locale desktop name: home/mico/Desktop 
screen width: 3840  height: 2160 
outboard program ffmpeg is not installed 
outboard program dwebp is not installed 
outboard program heif-convert is not installed 
outboard program heif-convert is not installed 
outboard program opj_decompress is not installed 
outboard program vlc is not installed 
zshell: mkdir -p -m 0750 "/home/mico/snap/fotoxx/x38/.fotoxx/thumbnails"  
mkdir: cannot create directory ‘/home/mico/snap/fotoxx/x38’: Permission denied
zshell error: Operation not permitted 
command: mkdir -p -m 0750 "/home/mico/snap/fotoxx/x38/.fotoxx/thumbnails"  
 error: Operation not permitted 
dialog started: ACK 
dialog: ACK  button: OK 
save_params()
zexit: Fotoxx exit
Killed

fotoxx-snapcraft $:

Nah, when you apply for Classic access (there’s an actual review process, you can’t just submit them without approval), you’ll be asked to justify why it’s unsuitable for strict confinement, and unfortunately access to $HOME/.fotoxx isn’t prohibited by the confinement model, there’s an interface for that, Personal Files which allows making exceptions in $HOME that aren’t covered by home itself.

You should be able to define a plug with this, and then connect that plug (connection being the process by which you’re telling snapd you want to use that interface, e.g, snap connect firefox:x11), and you’d be able to have read/write access to that folder.

When submitting to the store, there’d still be a review cos you’re using Personal Files, but you’d be very likely granted this access because the name of the folder and your app are clearly connected, meaning auto-connection overrides to allow this are very much on the table.

It’s worth noting that, presuming your app is using GTK’s FileChooserNative class (or more modern alternatives in GTK4), your snap actually would be able to access files outside the sandbox if done via the GUI, through the Desktop Portals mechanisms.

There is other ongoing work to enable the sandbox to be more granular with user consent, but for $HOME/.fotoxx directly, Personal Files should work.

It’s probably worth at this point, introducing you to the snappy-debug snap. Give it a go with sudo snap install snappy-debug, and run it with snappy-debug in the terminal. If it’s open in the background whilst you run other snaps, it’ll listen out for confinement related problems in the system logs and offer you feedback on how to proceed.

Regarding

outboard program ffmpeg is not installed 
outboard program dwebp is not installed 
outboard program heif-convert is not installed 
outboard program heif-convert is not installed 
outboard program opj_decompress is not installed 
outboard program vlc is not installed 

You’d be able to add these as stage packages, but at least e.g FFMPEG is also available as a content-snap (Similar to Gnome, but slightly more involved, so it might be easier for now just keeping it as a normal stage-package).

1 Like

This is a gtk app. So, I think this should have the Gtk treatment. Thus, ffmpeg content snap will work perfectly here. But, can I look into the source-code once? @mkornelix