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_64ELF 클래스 오류에 대해 불평했습니다(내 버전이 i686용 32비트 lib인 것 같습니다?!).

/lib처음에 libcrypto의 32비트 버전을 사용해야 하는 이유와 XCOM2가 작동하도록 하는 방법은 무엇입니까? 저는 Fedora를 처음 접했고 이 문제를 스스로 알아내려고 노력하고 있지만 어떻게 진행해야 할지 잘 모르겠습니다. 우선 정말 감사드립니다!

답변1

첫째,

ldd ./XCOM2

바이너리가 연결되기를 원하는 라이브러리가 표시됩니다. 어떤 라이브러리를 찾을 수 없는지 확인할 수 있습니다.

다음 명령을 사용하여 공유 라이브러리의 아키텍처를 확인할 수 있습니다.

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

i386 또는 amd64 라이브러리인지 알려줍니다. 바이너리도 마찬가지입니다 XCOM2.

스키마가 일치해야 합니다. ldd존재하는 것과 존재하지 않는 것이 표시되었지만 .

대부분의 배포판은 최소한 제한된 다중 아키텍처 지원을 제공합니다. 즉, 시스템은 동시에 여러 아키텍처에 대한 라이브러리와 바이너리를 가질 수 있습니다.

누락된 라이브러리가 포함된 패키지를 찾습니다(이 작업은 rpm 기반 배포에서 이 도구를 사용 scout하거나 deb 기반 배포를 사용하여 수행할 수 있습니다 apt-file). 이를 설치합니다(rpm에서, yumdebian에서 , 사용 apt-get).

해당 라이브러리가 배포판에 없으면 외부 소스에서 가져와야 합니다. 그러나 운영 체제 라이브러리는 단일 바이너리로 인해 쓸모가 없습니다.

대부분의 경우 이러한 라이브러리는 동일한 배포판의 다른 버전에 존재합니다(데비안에서는 다음을 수행할 수 있습니다).http://packages.debian.org, 다른 배포판의 경우는 모르겠습니다). 패키지를 다운로드하고 수동으로 압축을 푼 다음(rpm에서 명령은 rpm2cpio something.rpm|cpio -i -ddebian: dpkg -x something.deb; tar -Jxvf data.tar.xz) 필요한 라이브러리 파일을 지정된 디렉터리에 복사합니다.

바이너리 파일에 접두사 추가

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

먼저 XCOM2이 추가 디렉토리를 공유 라이브러리 검색 경로에 제공할 수 있습니다.

관련 정보