![两个共享库问题的例子,这是 18.04 的问题吗?](https://linux22.com/image/1066005/%E4%B8%A4%E4%B8%AA%E5%85%B1%E4%BA%AB%E5%BA%93%E9%97%AE%E9%A2%98%E7%9A%84%E4%BE%8B%E5%AD%90%EF%BC%8C%E8%BF%99%E6%98%AF%2018.04%20%E7%9A%84%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F.png)
我刚刚尝试运行这个程序,但遇到了库问题。我有正确的库,但程序却在错误的地方查找?有解决办法吗?
编辑:我应该说我是通过来自的 DEB 文件安装的这里:
$ Todour
Todour: error while loading shared libraries: libxcb-keysyms.so.1: cannot open shared object file: No such file or directory
$ apt-file search libxcb-keysyms.so.1
libxcb-keysyms1: /usr/lib/x86_64-linux-gnu/libxcb-keysyms.so.1
libxcb-keysyms1: /usr/lib/x86_64-linux-gnu/libxcb-keysyms.so.1.0.0
按要求:
$ ldd Todour | grep not
ldd: ./Todour: No such file or directory
和
$ file Todour
Todour: cannot open `Todour' (No such file or directory)
编辑:我也尝试过这个:
$ export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
$ Todour
Todour: error while loading shared libraries: libxcb-keysyms.so.1: wrong ELF class: ELFCLASS64
我还按照以下命令添加了 i386 依赖项:
sudo apt install libxcb-keysyms1:i386
仍然得到 ELF 类响应。
答案1
关于依赖关系的问题是在 GitHub 项目页面上创建,现在已修复。
该二进制文件是 32 位的,因此我们需要启用 32 位支持
sudo dpkg --add-architecture i386
sudo apt update
然后下载软件包
cd ~/Downloads
wget https://nerdur.com/Todour-v2.17.deb
并安装它:
sudo apt install ./Todour-v2.17.deb
享受:
注意:有关 2.16 依赖项的原始问题,请参阅先前修订这个答案。