web-dev-qa-db-ja.com

Steam:共有ライブラリのロード中のエラー:libGL.so.1:間違ったELFクラス:ELFCLASS64

Nvidiaドライバーをインストールした後、Steamを実行しようとすると、次のエラーが表示されます。

Steam: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64

this の質問と、インストールを提案する回答の1つを見つけました。

Sudo apt-get install libgl1-mesa-glx:i386

libgl1-mesa-glx:i386を既にインストールしています。私が見つけたよりも this 。 32ビットlibGLへのシンボリックリンクを作成することをお勧めします。どうすればそれができますか?他に提案はありますか?

10
Olcay Ertaş

64ビットシステムでのこの問題は、/usr/libLD_LIBRARY_PATHよりも/usr/lib32で早いために発生します。 Steamは64ビットライブラリを試してみて、文句を言います。

ただし、~/Steam/steam.shで修正できますが、そのファイルはSteamが実行されるたびに元のバージョンに復元されるようです。

これを行うスクリプトを作成して修正しました。

#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH
Steam $*

これは/usr/lib32をライブラリパスの先頭に追加し、Steamを(スクリプトの元の引数で)起動します。これで、/usr/lib32/usr/libの前のパスで見つかり、Steamは32ビットライブラリを正常に使用します。

行を追加することもできます

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

/usr/bin/Steamには、最後の行の前に追加する限り、同じ効果があります。 /usr/lib/Steamを編集するには、Sudoが必要です。

  • これには、Steamを起動するすべてのもの(アプリケーションメニューエントリ、ファイルタイプの関連付け、URIの関連付け)が正常に機能するため、より良い修正であるという追加のボーナスがあります。
  • 欠点は、/usr/bin/SteamがSteamの更新時に上書きされる可能性が高いことです。

スクリプトをバックアップとして保持しながら、後者の方法を使用します。そうすれば、/usr/bin/Steamが上書きされた場合、スクリプトから再度行をコピーして貼り付け、修正することができます。

11
Terion

/usr/lib32を新しいファイルに追加することにより、nVidia 319.17ドライバーを使用したリングテール(xubuntu 13.04)のリングでこれを修正しました。

$ Sudo nano /etc/ld.so.conf.d/lib32.conf

その後実行:

$ Sudo ldconfig 

ファイル/etc/ld.so.confにはinclude /etc/ld.so.conf.d/*.confが含まれているため、そのディレクトリ内の拡張子が.confのファイルはすべて解析されます。

7
scruff

差出人: https://github.com/ValveSoftware/Steam-for-linux/issues/321

私は同じ問題を得て、これを行うことで解決しました:

$ cd ~/.Steam/bin
$ ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 .

これも私にとってはうまくいきました。

4
hansonap

最新の64ビットNvidiaドライバー310.32と32ビットドライバーサポートがインストールされているMint 14でこれを修正

/emul/ia32-linux/usr/lib 

追加することにより

export LD_LIBRARY_PATH=/emul/ia32-linux/usr/lib:$LD_LIBRARY_PATH 

"export"ファイルの先頭にある最初の/usr/bin/Steamの後。

2
terrigan

私は同じ問題に遭遇しましたが、skypeを使用しました。上記のすべてのソリューション(シンボリックリンクの作成、LD_LIBRARY_PATHの構成)が機能しませんでした。

post で既に説明した-しかし、別の解決策で助けを見つけました。

Nvidiaアップデーター(OpenGL 32ビット互換性ライブラリーをインストールする許可を求める場合)が混乱し、/usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/mesa/libGL.soを削除したようです。

libgl1ライブラリの再インストール

Sudo apt-get install --reinstall libgl1-mesa-glx:i386

2
b-studios

Steam for Linux限定ベータ版を使用している場合は、それを The Steam for Linuxフォーラム に投稿します。彼らはより良い助けを得る必要があり、それがソフトウェア自体に問題がある場合、開発者はそれを修正することができます。また、64ビットOSを使用している場合は、多くの人がトラブルを経験している可能性が高いため、何をすべきかを正確に知っています。

1
Spice

Linux Mint Debian Edition 2 64ビットでもまったく同じ問題がありました。

32ビットGLライブラリを使用してNVIDIAドライバーを再インストールすることで解決しました(Steamが要求したライブラリをインストールした後)。

他の32ビットグラフィックライブラリをインストールするとリンクが壊れ、実際の32ビットライブラリでNVIDIAドライバーを再インストールすると、リンクの問題が修正されると思います。

0
SHOTbyGUN

Skypeでこの問題が発生しました。公式のNvidiaドライバーを再度インストールして、インストール中に32ビット互換性ライブラリをインストールすることで修正しました。

0
Saeed Zarinfam