Steamクライアント外でゲームを実行するときの「lib」の問題

Steamクライアント外でゲームを実行するときの「lib」の問題

私はMint 18.2 Sonyaを実行しており、nvidia-375ドライバを使用しています。

問題のゲームはクルセイダーキングズ2(Crusader Kings II)です。 Steamクライアント内では正常に動作します。ただし、可能であればクライアントを使用しないことをお勧めします。 CK2のWinバージョンでは、実行可能ファイルを直接実行することでこれを行うことができることがわかります。 Thunarで実行可能ファイルを実行すると、~/.steam/steam/steamapps/common/Crusader\ Kings\ II/ck2結果が表示されず、コマンドラインを介して実行されましたが、次のメッセージを受け取りました。

./ck2: error while loading shared libraries: libuuid.so.1: cannot open shared object file: No such file or directory

少し検索した後、これが欠けているlibファイルであることがわかりました。 libuuid.so.1を見つけて/lib/x86_64-linux-gnu/そこからシンボリックリンクを作成しました。/usr/lib/

同様の問題を抱えている人から見つけた修正は次のとおりです。同じゲーム、別の不足しているライブラリ。コマンドラインから実行可能ファイルを再実行すると、新しいエラーが発生します。

./ck2: error while loading shared libraries: libuuid.so.1: wrong ELF class: ELFCLASS64

さらなる研究によると、これは私がシンボリックリンクしたライブラリが間違ったアーキテクチャであることを意味します。 /lib/x86_64-blah-blahでこれを見つけたので、本当にこれを期待していたはずです。しかし、私は32ビット版のlibuuid.soが見つからないようです。私は/usr/lib32にシンボリックリンクを試しましたが、ライブラリがないと文句を言います。私のmultiarch-supportパッケージも最新であることを確認しました。

libuuid1編集:パッケージが最新であることを確認しました。 dpkg -L 結果は次のとおりです。

/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libuuid1
/usr/share/doc/libuuid1/changelog.Debian.gz
/usr/share/doc/libuuid1/copyright
/lib
/lib/x86_64-linux-gnu
/lib/x86_64-linux-gnu/libuuid.so.1.3.0
/lib/x86_64-linux-gnu/libuuid.so.1

答え1

 export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

これにより、Steamはまず/usr/lib32で必要なライブラリを見つけることができます。

この修正は一部のユーザーに適用されます。

関連情報