HIB Games (Aquaria & Penumbra) は、libGL.so.1 が存在するにもかかわらず見つけることができません。

HIB Games (Aquaria & Penumbra) は、libGL.so.1 が存在するにもかかわらず見つけることができません。

Humble Indie Bundle (HIB) のゲームをプレイしようとしているのですが、Aquaria と Penumbra: Overture で libGL.so.1 ファイルに関連するエラーが発生します。

Aquaria の起動時に次のエラーが発生します:

Message: SDL_GL_LoadLibrary Error: Failed loading libGL.so.1

そして、Penumbra: Overture は起動時に次のエラーを表示します:

./penumbra.bin: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

libGL.so.1 ファイルが存在することはわかっています ( /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1)。過去にこのようなエラーがあったことから、ライブラリを別のディレクトリにシンボリックリンクする必要があると推測していますが、どのディレクトリかわかりません。

答え1

これはおそらく、Ubuntu の 64 ビット バージョンを実行しており、特定の HIB ゲームが 32 ビット バージョンのみで提供されているために発生しています。

主要なOpenGLライブラリの32ビットバージョンをインストールしてみてください(マルチアーチ):

sudo apt-get install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386

Ubuntu 11.04 "Natty"より前のバージョンでは、32 ビット chrootその代わり。

答え2

それをコピーするかシンボリックリンクしてください

/usr/lib/libGL.so.1

ただし、グラフィックス ドライバーが正しくインストールされていることを確認してください。libGL.so.1 は mesa ドライバーに属しています。別のドライバー (たとえば、独自の nvidia または ati ドライバー) を使用している場合は、このドライバーの正しいライブラリを見つける必要があります。通常、ドライバーを再インストールすると問題が解決するか、少なくとも役立つエラー メッセージが表示されます。

答え3

32ビットライブラリをインストールしていたにもかかわらず、同じ問題が発生しました。/etc/alternatives/i386-linux-gnu_gl_confがまだ古いfglrxインストールを指していたため、以下を実行する必要がありました。

sudo update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf
sudo ldconfig

手動で mesa GL 実装を選択します。

関連情報