Snap 应用程序在打开时提供 "error while loading shared libraries" 和 "cannot open shared object file: No such file or directory"

Snap apps giving "error while loading shared libraries" and "cannot open shared object file: No such file or directory" when opened

一些 snap 应用程序(即 discord 和 telegram-desktop)在我今天早上打开笔记本电脑时停止打开(Fedora 31 64 位),当从终端 discord 打开时显示如下:

~/ discord                                                                                                                                              
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
/snap/discord/109/usr/share/discord/Discord: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

电报桌面显示:

~/ telegram-desktop                                                                                                                                               
WARNING: cgroup v2 is not fully supported yet, proceeding with partial confinement
/snap/telegram-desktop/1561/bin/telegram-desktop: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory

两个包都安装了,在搜索了大半个上午的主题和论坛后我有点难过,我试过没有任何效果,重新安装它们,尝试不同版本的库,然后是应用程序,安装 32 位版本, 等等。非常感谢任何帮助、提示、想法,或者只是对问题可能的一般漫谈。

TLDR: Snap 应用程序在打开时提供 "error while loading shared libraries" 和 "cannot open shared object file: No such file or directory"。缺少的包安装正确,所以我很难过。

警告不是你的问题。

真正的问题只是您在 snap 中遗漏了一些依赖项:出于某种原因,snap 没有安装所有需要的依赖项,而它应该安装。 在 Ubuntu 中,我有电报桌面,它工作正常,我做了这个检查:

snap list

列出实际快照。

接下来我通过查看连接来检查所有相互依赖关系:

snap connections telegram-desktop

这在我的 Utbuntu 机器上产生:

Interface                             Plug                                    Slot                                                  Notes
alsa                                  telegram-desktop:alsa                   -                                                     -
audio-playback                        telegram-desktop:audio-playback         :audio-playback                                       -
audio-record                          telegram-desktop:audio-record           -                                                     -
content[gtk-3-themes]                 telegram-desktop:gtk-3-themes           gtk-common-themes:gtk-3-themes                        -
content[icon-themes]                  telegram-desktop:icon-themes            gtk-common-themes:icon-themes                         -
content[kde-frameworks-5-core18-all]  telegram-desktop:kde-frameworks-5-plug  kde-frameworks-5-core18:kde-frameworks-5-core18-slot  -
content[sound-themes]                 telegram-desktop:sound-themes           gtk-common-themes:sound-themes                        -
desktop                               telegram-desktop:desktop                :desktop                                              -
desktop-legacy                        telegram-desktop:desktop-legacy         :desktop-legacy                                       -
gsettings                             telegram-desktop:gsettings              :gsettings                                            -
home                                  telegram-desktop:home                   :home                                                 -
network                               telegram-desktop:network                :network                                              -
network-manager                       telegram-desktop:network-manager        -                                                     -
opengl                                telegram-desktop:opengl                 :opengl                                               -
pulseaudio                            telegram-desktop:pulseaudio             :pulseaudio                                           -
removable-media                       telegram-desktop:removable-media        -                                                     -
unity7                                telegram-desktop:unity7                 :unity7                                               -
wayland                               telegram-desktop:wayland                :wayland                                              -
x11                                   telegram-desktop:x11                    :x11                                                  -

接下来我发现你缺少的库libQt5Widgets.so.5是由kde-frameworks-5-core18

提供的
 sudo find /snap -name libQt5Widgets.so

 /snap/kde-frameworks-5-core18/32/usr/lib/x86_64-linux-gnu/libQt5Widgets.so

我不知道你是否可以在软呢帽上使用:

snap install kde-frameworks-5-core18

修复您缺少的依赖项。

另一方面,在 Fedora 和类似发行版上,您可以尝试使用 flatpak 代替 snap:flatpak 作为 Fedora 系列的默认应用程序包管理器。

首先你需要添加 flathub 作为 flatpak 远程仓库:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

接下来可以搜索:

flatpak search discord
flatpak search telegram

接下来安装应用程序:

sudo flatpak install com.discordapp.Discord
sudo flatpak install org.telegram.desktop

我在 CentOS 虚拟机上对此进行了测试(我没有准备好测试的软呢帽,但 CentOS 已经足够接近了)并且我让它们都能正常工作。

嘿,我根本不是专家,但我一直面临着同样的问题,似乎 "snap refresh" 解决了我 ubuntu 上的问题。我不确定它是否相关,但它可能会有所帮助