这带来了一些我最近下载的 roguelike 游戏。尝试运行文件夹中的可执行文件时,我得到了以下响应:
./ia: error while loading shared libraries: libmodplug.so.1: cannot open shared object file: No such file or directory
现在,当检查 Synaptic 时,我肯定有 libmodplug1 和 libmodplug1-dev。
我的猜测是,它没有在安装 Ubuntu 时保存库的同一位置寻找库?尽管游戏网站声称这是针对 Ubuntu 和 Linux 的。
我想知道是否有办法解决这个问题,比如通过符号链接一个库,这样游戏就可以去寻找它的地方,但仍然能找到它需要的东西?
或者是否有其他选择,在我的计算机上编译它并让库关联以这种方式发生?(假设可能?)
(这个是针对名为 Infra Arcana 的 rougelike 游戏。我从 Cataclysm DDA Tiles 版本中得到了同样的结果。我尝试了游戏 ADOM,并在另一个库中得到了另一个没有此文件的响应,同样,根据我的 Synaptic 搜索,我似乎已经得到了这个响应)
我的TL;DR:对于您自己没有编译或通过存储库找到的程序,是否经常找不到其库的正确位置?唯一真正的解决方案是自己编译它吗?
答案1
我推测,因为我可以通过 synaptic 在已安装的文件中看到 libmodplug,所以 libmodplug.so.1 也可用。查看后发现,该文件所在的位置有一个损坏的符号链接。
我重新安装了 libmodplug,文件就修复了。依赖该库的程序现在都可以运行了!
将此作为答案发布,而不是编辑原始帖子,以便希望教育下一个与我一样假设的人! 一定要仔细检查图书馆!