Steam:共有ライブラリの読み込み中にエラーが発生しました:libGL.so.1:間違ったELFクラス:ELFCLASS64


11

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

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

私はこの質問とインストールを提案する答えの1つを見つけました:

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

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


libgl1ライブラリを再インストールすると問題が解決したことを確認できます。Ubuntu 14.04 x86-64、デスクトップcompiz、GEForce GTS 450用のグラフィカルドライバーNvidia
hariprasad

sudo aptitude install libgl1-mesa-glx:i386番組305個のパッケージが削除され、約100未解決になります。これは私のシステムを詰まらせるように見えるので、64ライブラリと32ビットライブラリ、またはそれ以上の1つのプライマリシステム、ゲーム用の64ビットインストール、および32ビットインスタンスを搭載したUbuntuをデュアルブートするのが最善の策であると思います32ビットゲーム用の独自のパーティション。
2017

回答:


11

64ビットシステムでのこの問題/usr/libは、LD_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はbeforeのパスに/usr/libあり、steamは32ビットライブラリを正常に使用します。

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

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

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

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

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


7

/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が付いたすべてのファイルが解析されます。


これはおそらく他のどの回答よりも優れています。
Tek


2

32ビットドライバーのサポートがインストールされた最新の64ビットNvidiaドライバー310.32を備えたMint 14のこれを修正しました

/emul/ia32-linux/usr/lib 

追加して

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

最初の後"export"の初めに/usr/bin/steamファイル。


根拠が示唆されていないとして、「ミント」を用いミントは、Ubuntuのの誘導体であっても、ここofftopicですので、
トーマス・ウォード

2

私は同じ問題に出くわしましたが、スカイプで。上記のすべてのソリューション(シンボリックリンクの作成、LD_LIBRARY_PATHの構成)が機能しませんでした。

すでに上記の投稿でようやくヘルプが見つかりましたが、別の解決策がありました。

(OpenGLの32ビット互換ライブラリをインストールするための許可を求める)NVIDIAアップデータが台無しにし、除去ようだ/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


1

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


0

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

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

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


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.