Ubuntu 12.04 64ビットを使用していて、ゲーム(GTA SA)をワインで動作させようとしていますが、クラッシュし続けます。エラーログを読んだ後、おそらくイントロビデオを再生するために、32ビットバージョンのgstreamerが必要だったようです。私はすでにia32-libs
を持っています 、どこかで読んだので、32ビットソフトウェアを実行するためにそれが必要になります。私が最初に試したのは:
sudo apt-get install gstreamer0.10-ffmpeg:i386
どちらが返されますか:
gstreamer0.10-ffmpeg:i386 : Depends: libavcodec53:i386 (>= 4:0.7.3-1) but it is not going to be installed or
libavcodec-extra-53:i386 (>= 4:0.7.3-1) but it is not going to be installed
また、libavformat、libpostproc、libswscaleにも依存し、ほぼ同じエラーが発生します。そこで私は検索を続け、32ビットライブラリをインストールできる優れたツールgetlibsを見つけました。 /usr/lib32
に配置するだけだと思います ディレクトリ。これを行うにはおそらく最善の方法ではありませんが、とにかく試してみました。
そこで、wineが不満を言っていたgetlibsを使用して32ビットライブラリをインストールしました。さまざまなエラーが発生しました。基本的に、32ビットライブラリは、現在は見つからない他のライブラリを参照しています。たとえば、エラーの1つは次のように述べています。
Failed to load plugin '/usr/lib32/gstreamer-0.10/libgstffmpeg.so': libavformat.so.53: cannot open shared object file: No such file or directory
32ビットバージョンを使用しているので、私の最初の考えは正しかったです。今、私はライブラリが他のライブラリを参照している場所を確認するためにlddでそれを理解しようとしていました:
# This one is fine
ldd /usr/lib/gstreamer-0.10/libgstffmpeg.so | grep avformat
libavformat.so.53 => /usr/lib/x86_64-linux-gnu/libavformat.so.53 (0x00007f8314181000)
# This one isn't
ldd /usr/lib32/gstreamer-0.10/libgstffmpeg.so | grep avformat
libavformat.so.53 => not found
したがって、実際、libgstffmpeg.soは正しいlibavformat.soを見つけることができません。 getlibsを使用して32ビットバージョンのlibavformatを再度インストールしてみました。これにより、/usr/lib32/i386-linux-gnu/libavformat.so
に配置されました。 。しかし、lddはまだlibavformatが見つからないと言っています。次に、同じディレクトリにシンボリックリンクを作成しようとしましたが、libavformat.so.53
という名前を付けました。 また、 `/usr/lib/i386-linux-gnu/libavformat.so.53'へのシンボリックリンクも作成しましたが、どちらも同じエラーが発生します。
これは本当に正しい方法ではないと確信していますが、正しい方法がわかりませんでした。では、これを行う正しい方法は何ですか、またはgstreamer0.10-ffmpegは単に32ビットまたはmultilibをサポートしていませんか?そして、ディレクトリが何であるかをどのように知ることができますか?libgstffmpeg(または私が推測する任意のライブラリ)は、参照している32ビットライブラリをチェックしますか?
関連:Linux – MemTest86 +エラー表示に従って正しい不良RAMセクターをブラックリストに登録するにはどうすればよいですか?承認された回答:
試してみてください:
ldconfig -p | grep lib32
出力が表示されない場合、これはリンカーキャッシュが原因です(man ldconfig
の最初の段落を読んでください) 、および-p
について switch)は/ usr/lib32を参照しません。私はubuntu12.04システムをチェックしましたが、それはデフォルトではありません。次の場所に追加できます:/etc/ld.so.conf.d/libc.conf
/usr/local/lib
だけが含まれている可能性があります 。 ldconfig
だけを実行します 、次に-pコマンドを上から。 / usr/lib32にあるものを確認する必要があります。次に、32ビットのgstreamerlibでlddを再試行します。