我需要运行的可执行文件需要新版本的荨麻库。
error while loading shared libraries: libnettle.so.8: cannot open shared object file: No such file or directory
升级前检查我当前的版本:pacman -Q nettle
返回nettle 3.5.1-2
将 nettle 升级pacman -S nettle
到nettle-3.6-1
提供 libnettle.so.8 的版本
重新运行我的可执行文件,现在它需要我升级的版本。
error while loading shared libraries: libnettle.so.7: cannot open shared object file: No such file or directory
诡异的。所以我降级回以前的荨麻版本
pacman -U /var/cache/pacman/pkg/nettle-3.5.1-2-x86_64.pkg.tar.xz
运行我的可执行文件,现在它再次依赖于 libnetttle.so.8!
error while loading shared libraries: libnettle.so.8: cannot open shared object file: No such file or directory
我到底犯了什么错导致了这个结果?
答案1
我进行了完整的系统升级。现在一切正常,无需手动干预。
编辑:造成这种情况的根本原因是由于部分升级我在图书馆做了(谢谢 Paul H.)
Arch Linux 是一个滚动发行版。这意味着当新的库版本推送到存储库时,开发人员和受信任的用户将重建存储库中需要针对库重建的所有包
...
...不支持部分升级。请勿使用
pacman -Sy package
或任何等效项,例如pacman -Sy
后跟pacman -S package
.pacman -Syu
在安装软件包之前,请务必升级(使用)。