Fedora 上的 XCOM2:找不到 libcrypto.so.1.0.0

Fedora 上的 XCOM2:找不到 libcrypto.so.1.0.0

我已经通过 Steam 在 Fedora 26 上安装了 XCOM2,但它不起作用。我手动执行安装的二进制文件并收到错误:

./XCOM2: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

然后我尝试手动将系统(x64)版本连接到系统,~/.local/share/Steam/steamapps/common/XCOM 2/lib/x86_64但随后它抱怨 ELF 类错误(看起来我的版本是针对 i686 的 32 位 lib?!)。

/lib为什么我首先要使用 32 位版本的 libcrypto以及(更相关)如何让 XCOM2 工作?我对 Fedora 比较陌生,并尝试自己解决这个问题,但我不确定如何继续。首先十分感谢!

答案1

首先,一个

ldd ./XCOM2

将显示您的二进制文件想要链接哪些库。您将看到哪些库找不到。

您可以使用以下命令检查共享库的体系结构

file -szL /lib/libsomething.so.a.b.c

它会说它是 i386 还是 amd64 库。您的二进制文件也是如此XCOM2

架构应该匹配。尽管ldd已经表明什么是存在的,什么是不存在的。

大多数发行版至少具有有限的多架构支持,这意味着您的系统可以同时拥有针对多种架构的库和二进制文件。

查找包含缺少的库的软件包(在基于 rpm 的发行版上,可以使用该scout工具来完成,或者在基于 deb 的发行版上使用 来完成apt-file)。安装它们(在 rpm 上,使用yum,在 debian 上,apt-get)。

如果给定的库在您的发行版上不存在,那么您必须从外部源获取它们。但是,由于单个二进制文件而操作系统库是没有用的。

大多数情况下,这些库存在于同一发行版的不同版本上(在 debian 上,您可以在http://packages.debian.org,对于其他发行版我不知道)。下载软件包,手动解压(在 rpm 上,命令为:rpm2cpio something.rpm|cpio -i -d,在 debian 上:dpkg -x something.deb; tar -Jxvf data.tar.xz),将所需的库文件复制到给定目录中。

为二进制文件添加前缀

LD_LIBRARY_PATH=/here/are/my/additional/libs ./XCOM2

您可以首先XCOM2将此附加目录提供给共享库搜索路径。

相关内容