공유 라이브러리를 로드하는 중 오류가 발생했습니다: libGL.so.1: 공유 객체 파일을 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다

공유 라이브러리를 로드하는 중 오류가 발생했습니다: libGL.so.1: 공유 객체 파일을 열 수 없습니다: 해당 파일이나 디렉터리가 없습니다
anisha@linux-y3pi:~/> google-earth 
./googleearth-bin: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

anisha@linux-y3pi:~/> locate libGL
/opt/google/earth/free/libGLU.so.1
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.070802

anisha@linux-y3pi:~/> uname -a
Linux linux-y3pi 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 x86_64 x86_64 GNU/Linux

OpenSUSE에서는 Mesa-32bit에서 zypper를 사용해 32비트 버전의 라이브러리를 설치하세요.

linux-y3pi:# zypper in Mesa-32bit
Retrieving repository 'google-chrome' metadata [\]
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/chrome/rpm/stable/x86_64
Abort, retry, ignore? [a/r/i/?] (a): r
Retrieving repository 'google-chrome' metadata [|]
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/chrome/rpm/stable/x86_64
Abort, retry, ignore? [a/r/i/?] (a): i
Retrieving repository 'google-chrome' metadata [error]
Repository 'google-chrome' is invalid.
Can't provide /repodata/repomd.xml : User-requested skipping of a file
Please check if the URIs defined for this repository are pointing to a valid repository.
Warning: Disabling repository 'google-chrome' because of the above error.
Retrieving repository 'google-earth' metadata [/]
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/earth/rpm/stable/i386
Abort, retry, ignore? [a/r/i/?] (a): r
Failed to download /repodata/repomd.xml from http://dl.google.com/linux/earth/rpm/stable/i386
Abort, retry, ignore? [a/r/i/?] (a):

답변1

Renan이 말했듯이 이는 32/64비트 불일치의 결과입니다. OpenSUSE에서는 zypper in Mesa-32bit32비트 버전의 라이브러리를 설치해 보세요. 일반적으로 64비트 버전을 사용하는 경우 다음을 사용하여 rpm -qf라이브러리가 포함된 패키지를 찾을 수 있습니다.

% rpm -qf /usr/lib64/libGLU.so.1
Mesa-7.11-11.4.2.x86_64

OpenSUSE에서 32비트 라이브러리의 명명 규칙은 -32bit패키지 이름에 추가하는 것이므로 버전 및 아키텍처 정보를 제거하고 접미사를 추가하여 Mesa-32bit.

답변2

내 64비트 상자에서는 일반적으로 일치하는 32비트 라이브러리를 64비트 라이브러리에 설치하므로 이 문제가 발생하지 않습니다. 물론, 필요하지 않거나 사용하지 않을 수도 있는 추가 라이브러리이지만, 일반적으로 이러한 오류도 발생하지 않습니다.

관련 정보