Will a Gnome 4 snap run with Gnome 3?

I want to try a more recent image viewer, Eye Of Gnome (eog) version 4. My computer is running Ubuntu 20.04.3 LTS which uses Gnome version 3.

I removed eog 3.36.3 using

sudo apt remove eog

and installed version 40.2 using

sudo snap install eog

snap list now tells me I have:

eog 40.2 602 latest/stable canonical✓ -

Sadly this snap install of eog doesn't work. In /var/log/syslog I see the following errors:

Sep 25 01:43:57 vw-dell zeitgeist-datah[7664]: zeitgeist-datahub.vala:210: Error during inserting events: GDBus.Error:org.gnome.zeitgeist.EngineError.InvalidArgument: Incomplete event: interpretation, manifestation and actor are required
Sep 25 01:43:57 vw-dell systemd[1874]: Started Application launched by gnome-shell.
Sep 25 01:43:57 vw-dell systemd[1874]: Started snap.eog.eog.25cc936e-2a05-4797-9de9-19c76cb0466a.scope.
Sep 25 01:43:57 vw-dell systemd[1874]: gnome-launched-eog_eog.desktop-8683.scope: Succeeded.
Sep 25 01:43:57 vw-dell eog_eog.desktop[8683]: /snap/eog/602/usr/bin/eog: error while loading shared libraries: libportal.so.0: cannot open shared object file: No such file or directory
Sep 25 01:43:57 vw-dell systemd[1874]: snap.eog.eog.25cc936e-2a05-4797-9de9-19c76cb0466a.scope: Succeeded.

Is Snap meant to enable this recent version of eog to run under Ubuntu 20.04 ?

Later edit. Following the suggestion by user535733 I have raised the following issue:

2

2 Answers

The general answer to your question is: "Yes, a Gnome 4 snap should run with Gnome 3". Any snap should run on any linux system that supports snap. That is what the snap system is designed for.

This is at the core of these containerized application formats. They run in a sandbox, using their own libraries - or common libraries provided by other snap packages (the so-called "stage-snaps") that then should have been automatically installed with the snap, if not yet available.

What you are facing here is a defect snap package. Apparently it was published without sufficient testing.

Tl;dr

This was probably a failed attempt at porting. Search the other channels of the same package for newer versions. If it is new, there is likely a nightly build, although I doubt you found this on stable. Check Flatpak for the same package. Chances are you will find it.

Conclusion

It looks to me like you have a broken package? It is failing because it cannot find a shared library that it needs.

So technically, the answer is:

you need the file libportal.so

however,

  1. The fact that it is not included with eog or wrapped in package in apt is strange

  2. After a bit of research, it looks like the library is part of the flatpak API. In fact, the flatpak sandbox abstraction is sometimes called the "portal".

I am not a flatpak developer by any stretch, but I know enough to know that the sandbox implementations are way different to share APIs.

My guess is that the package was recently ported from flatpak, and there is a discrepancy somewhere in the metadata for the package.

The gook news is that it is most likely available on Flatpak! Although if the app needs any significant permissions - i.e. access to the OS's devices or other global resources - to run, you will soon know what those differences I mentioned all too well.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like