載入共用程式庫時出錯: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-32bit安裝該程式庫的 32 位元版本。一般來說,如果您有 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 位元庫中,這樣我就不會遇到這個問題。當然,這是我可能不需要或曾經使用過的額外庫,但話又說回來,我通常也不會收到這些錯誤。

相關內容