我会让它稍微通用一点,希望这个解决方案可能更有用(假设有)。
我一直在尝试在Fedora 23下运行一个应用程序,该应用程序在官方存储库中提供。它安装得很好,但不会启动。从终端运行它告诉我:
"unable to find <this.so>"
其中
<this.so>
指的是应用程序找不到的特定库。
在下面的外部帮助中,我运行了一些终端命令,试图缩小问题范围。如果我试图安装明显丢失的
<this.so>
通过安装使用提供它的程序包
"dnf install <that.package>"
返回
"<that.package> is already installed. Skipping"
如果我运行
"$ locate <this.so>"
它返回(我现在是具体的):
/usr/lib/<this.so>
向我表明它相信图书馆就在那个地方。
如果我运行
"dnf provides <this.so>"
它再次指向
dnf : system @root
然而,如果我运行
"rmp -Va"
首批退回的物品之一是
missing.... /usr/lib64/<this.so>
再次似乎指的是同一个实例,但位置不同。所以我的问题是:
如何解决此差异?该应用程序告诉我它没有安装,locate告诉我它安装了,rmp告诉我它不见了,但来自不同的位置。
很明显,我已经做了大量的"dnf-clean-all"updatedb"和重新启动。还有什么我可以尝试的吗?
如果您使用的发行版是x86_64,那么您可以拥有bot x86_64和i686库。如果你用dnf列出可用的包,你可以看到包名上有一个后缀,表明它们用于什么体系结构。
对于您的情况,我认为您只需要重新安装您需要的两个版本的软件包:
dnf reinstall <that.package> <that.package>.i686