LinuxでSteamがインストールされたゲームを起動すると、無効なELFクラスが発生する:ELFCLASS32

LinuxでSteamがインストールされたゲームを起動すると、無効なELFクラスが発生する:ELFCLASS32

Linux Ubuntu 18.04のSteamストアに「Counter Strike Global Offensive」をインストールしましたが、ターミナルで実行すると以下のようなエラーが発生します。

Steam/steamapps/common/Counter-Strike Global Offensive/bin/datacache_client.so

error=Steam/steamapps/common/Counter-Strike Global Offensive/bin/datacache_client.so: wrong ELF class: ELFCLASS32

回答された質問ですでに32ビット共有オブジェクトをインストールする必要があることを知っていますが、ほとんどのライブラリ(すべてではありません)はリポジトリでは利用できず、ゲーム開発者が作成したものです。

これらのエラーを抑制するにはどうすればよいですか?
そしてSteamアプリから直接実行することはできません。
ご協力ありがとうございます。
ありがとうございます。

ベストアンサー1

「このようなエラーを抑える」ことはできません。実行可能なバイナリと必要なライブラリはすべて64ビット、またはすべて32ビットでなければなりません。アプリケーションを実行するには、必要なすべてのライブラリの正しいバージョンを提供する必要があります。

システムが64ビットで、以前に32ビットライブラリをインストールしていない場合は、パッケージ管理システムで32ビットアーキテクチャサポートを有効にする必要があります。

sudo dpkg --add-architecture i386

リポジトリ定義のファイルを/etc/apt/sources.list確認することもできます。/etc/apt/sources.list.d/*.listスキーマ仕様にコメントされていない行がある場合は、次のようになります。

deb [arch=amd64] https://...

その後、パッケージストアへのアクセスを64ビットバージョンに限定する「[arch = amd64]」セクションを削除できます。

その後、または同等のコマンドを実行して利用可能なパッケージのリストを更新すると、対応する64ビットパッケージと同じ名前ですが、後にパッケージ名が接尾辞付きのsudo apt updateライブラリパッケージの32ビットバージョンを選択できます。:i386

おすすめ記事