我想尝试最新的春奈播放器(0.10.3),但不能作为apt
安装使用(即 0.9.3),安装该snap
版本后我得到以下信息:
env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/haruna_haruna.desktop /snap/bin/haruna %u /snap/haruna/11/usr/bin/haruna: error while loading shared libraries: libmsrpc3.so.0: cannot open shared object file: No such file or directory
我读这里我可以尝试一下sudo apt-get install --reinstall samba-libs
,但是没有用。
接受答案后请注意:
- 预期版本 0.10 是不是可以在 snapstore 上使用,但仅限于 flathub;flatpak 0.10 版本不受此问题影响;
- 接受的答案是指问题出现时唯一可用的 snap 版本(0.9),即受问题影响的版本
答案1
确认 snap 应用程序已损坏。“缺失”的库确实包含在 snap 中,但它不在应用程序查找的路径中。
$ ls -l /snap/haruna/current/usr/lib/x86_64-linux-gnu/samba/libmsrpc3.so.0
-rw-r--r-- 1 root root 145712 Jul 18 2022 /snap/haruna/current/usr/lib/x86_64-linux-gnu/samba/libmsrpc3.so.0
发布者需要将其部分LD_LIBRARY_PATH
修改为如下内容:environment
snapcraft.yaml
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/samba/
或者,作为一种解决方法,您可以暂时在本地修复它。
下载快照
$ mkdir ~/harunatemp
$ cd ~/harunatemp
$ snap download haruna --candidate
Fetching snap "haruna"
Fetching assertions for "haruna"
Install the snap with:
snap ack haruna_11.assert
snap install haruna_11.snap
解压 snap
$ unsquashfs haruna_11.snap
Parallel unsquashfs: Using 16 processors
2267 inodes (4522 blocks) to write
[===========================|] 6789/6789 100%
created 1971 files
created 280 directories
created 280 symlinks
created 0 devices
created 0 fifos
created 0 sockets
created 16 hardlinks
修改快照
我使用nano
,但您可以使用任何您喜欢的文本编辑器。
$ nano ~/harunasnap/squashfs-root/meta/snap.yaml
更改此行:
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu/
对此:
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/:$SNAP/usr/lib/x86_64-linux-gnu/samba/
笔记:注意保留缩进,yaml 很挑剔。
CTRL+X 保存。
重新打包 snap
$ snap pack squashfs-root
built: haruna_0.9.1_amd64.snap
安装 snap
$snap install ./haruna_0.9.1_amd64.snap --dangerous
haruna 0.9.1 installed
运行 snap
$ snap run haruna
巨大的成功!
尽管这不能给你你想要的版本,但希望它能向你或其他任何人解释如何修复快照:D