공유 라이브러리를로드하는 중 오류 : libopenal.so.1 (우분투 14.10의 게임 'pacapong')


11

Linux 용 게임 pacapong 을 다운로드하고 실행 파일을 실행하려고 시도하여 오류가 발생했습니다.

$ ./runner 

./runner: error while loading shared libraries: libopenal.so.1: 
cannot open shared object file: No such file or directory

분명히 로딩의 필요성이 있습니다 libopenal.so.1.

$ objdump -p ./runner |grep libopenal.so.1

NEEDED libopenal.so.1

거기에 libopenal.so.1거짓말을 /usr/lib/x86_64-linux-gnu내가 할 수 있습니다 :

$ ldd libopenal.so.1
linux-vdso.so.1 =>  (0x00007fffcdbbb000)

...

이 실행 파일 (./runner)을 루트로 실행하지 않습니다 (이 문제가 불충분 한 권한과 관련 될 수있는 경우, 가정하지 않은 것).

그렇다면 다른 방법을 시도해 볼 수 있습니까?

답변:


12

64 비트 Linux에서 실행하려고하는 32 비트 게임이기 때문에 오류가 발생합니다. 어떤 패키지가 누락되었는지 알아 내기 위해 인터넷 검색 오류 메시지를 통해 오류를 해결했습니다. 게임을 실행하기 위해 다음 패키지를 설치했습니다.

sudo apt-get install libxxf86vm1:i386 libglu1-mesa:i386 libopenal1:i386 libssl1.0.0:i386

이러한 패키지 설치의 기능과 문제 해결 방법에 대해 자세히 설명해 주시겠습니까?
Michael Lindman

답변 주셔서 감사합니다, 문제를 해결합니다. 거기에서 당신은 시스템에 관한 모든 것을 알고 있다고 생각하고 실제로 그것에 대해 알고 있지만, 당신은 그것을 생각하지 않습니다 ...;)
de-facto

이. GOG는 32 비트 Linux와 연결된 게임을 번들로 제공하므로 (이유) 64 비트 시스템을 사용하는 경우 64 비트 및 32 비트 버전 용 OpenGL / etc 라이브러리가 모두 있어야합니다. 알고있는 라이브러리가 없다는 것을 알려주기 때문에 혼란 스럽습니다.
Katastic Voyage

0

앞으로 ldd를 ./runner에서 실행하면 필요한 라이브러리, 누락 된 경우 및 i386 또는 64 비트인지 여부를 알려줍니다.

./runner에 $ ldd

/ undertale / game $ ldd ./runner

linux-gate.so.1 (0xf7798000)

libgtk3-nocsd.so.0 => /usr/lib/i386-linux-gnu/libgtk3-nocsd.so.0 (0xf7759000)

libstdc ++. so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75d3000)

...

libXrandr.so.2 => 찾을 수 없음

libbsd.so.0 => /lib/i386-linux-gnu/libbsd.so.0 (0xf6b41000)

libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6b3d000)

libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6b36000)

참고 i386에 대한 xrandr이 여전히 누락되었습니다. 그래서 이것은 아직 작동하지 않을 것입니다.

$ ./ 주자

./runner : 공유 라이브러리를로드하는 중 오류 발생 :> libXrandr.so.2 : 공유 오브젝트 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.