this post was submitted on 26 Nov 2025
13 points (100.0% liked)

technology

24110 readers
178 users here now

On the road to fully automated luxury gay space communism.

Spreading Linux propaganda since 2020

Rules:

founded 5 years ago
MODERATORS
 

On the latest Fedora KDE. I'm trying to run an app image and it just does nothing. I tried doing it with Gear Lever which popped it into my app launcher. If I tell Gear Lever to launch it, it looks busy for about 5 seconds then nothing happens. I click it on my app launcher, bouncy icon by my mouse for like 10 seconds, nothing happens.

So I ran it in konsole and it says it doesn't see the image in the usual spot so it launches directly. Then it says it can't find preload library so it creates a temp file for it. The notable line after that is:

error while loading shared libraries: libwebkit2gtk-4.1.so.0: cannot open shared object file: no such file or directory

So I try to install it via the terminal and it says failed to resolve, no match for argument...

What gives? Thanks in advance for any help.

you are viewing a single comment's thread
view the rest of the comments
[–] dead@hexbear.net 10 points 3 days ago* (last edited 3 days ago) (7 children)

Please be extremely careful when deciding whether to trust an appimage. I would only run an appimage in a very rare circumstance. Most software should be installed from the distro repository and if it isn't in the distro repository, then I would use flatpak.

This seems to be the package you are missing. You would install it with the package manager for fedora.

https://packages.fedoraproject.org/pkgs/webkitgtk/webkit2gtk4.1/

I think you would do something like

sudo dnf install webkit2gtk4.1

or

sudo dnf install webkit2gtk

[–] PorkrollPosadist@hexbear.net 9 points 3 days ago* (last edited 3 days ago) (1 children)

To provide a little more background, .so files ("shared objects") are the Unix equivalent of .dll files ("dynamically linked libraries") on Windows. They contain a collection of software routines which are shared between various programs (in this case, the ability to embed a browser engine within a GTK application). On a technical level, they provide the benefit that code in a shared object only needs to be stored on the disk and loaded into memory once, regardless of how many programs make use of it. Unlike Windows, these files are versioned (which is why you'll often see numbers after the .so suffix). For the most part, they are stored in /usr/lib or /usr/lib64

When you run a program, a part of the operating system called the dynamic linker will search for all the required libraries (also known as dependencies) as a prerequisite to starting the program. If the dynamic linker fails to find any of the needed dependencies, you get an error message like the one shown above. The circumstance of needing to track down many arbitrary dependencies, many of which may have their own dependencies, is known as "dependency hell." It is the fundamental problem which package managers solve, and can quicky become a burden when working around them.

AppImages are supposed to "solve" this problem as well by bundling all their needed dependencies, but in practice a lot of them still seem to make assumptions about what libraries and utilities are present on your machine. I'm not as well versed in the technical details.

This is immensely helpful for me to understand things, thank you. Feel free to continue sharing knowledge! A lot of times when someone gives answers about Linux stuff it's sorely lacking this kind of explanation. Like, spelling out acronyms and their meaning is huge.

load more comments (5 replies)