Debian Wheezy 64ビットでAquariaゲームをプレイしたいです。インストールは順調に行われましたが、ゲームをプレイしようとすると次のエラーが発生します。
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so
ALSA lib control.c:951:(snd_ctl_open_noupdate) Invalid CTL hw:0
AL lib: alsa.c:1000: control open (0): No such file or directory
Message: SDL_GL_LoadLibrary Error: Failed loading libGL.so.1
32ビット互換性を追加しましたが、入力結果が次のようになるdpkg --add-architecture i386
ため、必要なライブラリがシステムに存在すると思います。locate libasound_module_conf_pulse.so
/usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_conf_pulse.so
そしてlocate libGL.so.1
:
/etc/alternatives/glx--libGL.so.1-x86_64-linux-gnu
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1.2
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1
/usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1.2
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/fglrx/fglrx-libGL.so.1.2
/usr/lib/x86_64-linux-gnu/fglrx/libGL.so.1
しかしDebianはこれを無視しているようです。 Aquariaをプレイするにはどうすればよいですか?
編集1:ldd水族館
linux-gate.so.1 => (0xf77e1000)
libSDL-1.2.so.0 => /opt/Aquaria/./libSDL-1.2.so.0 (0xf7748000)
libopenal.so.1 => /opt/Aquaria/./libopenal.so.1 (0xf76fa000)
libstdc++.so.6 => /opt/Aquaria/./libstdc++.so.6 (0xf760d000)
libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf75c3000)
libgcc_s.so.1 => /opt/Aquaria/./libgcc_s.so.1 (0xf75b8000)
libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf7455000)
libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xf7451000)
libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xf7437000)
librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xf742e000)
/lib/ld-linux.so.2 (0xf77e2000)
答え1
32ビットライブラリ(/usr/lib/x86_64-linux-gnu
64ビットライブラリを含む)がありません。それでは、ライブラリにどのパッケージが必要かを見てみましょう。
$ dpkg -S /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_conf_pulse.so
libasound2-plugins:amd64: /usr/lib/x86_64-linux-gnu/alsa-lib/libasound_module_conf_pulse.so
$ dpkg -S /usr/lib/x86_64-linux-gnu/libGL.so.1
libgl1-mesa-glx:amd64: /usr/lib/x86_64-linux-gnu/libGL.so.1
したがって、次のパッケージの32ビットバージョンが必要です。
# apt-get install libasound2-plugins:i386 libgl1-mesa-glx:i386
通常、32ビットライブラリをインストールする前に、アーキテクチャを次にi386
追加する必要がありますdpkg
。
# dpkg --add-architecture i386
# apt-get update
修正する
上記の方法で問題は解決されず、libGL.so.1
出力でldd
Aquariaが必要なライブラリをすべて見ることができるように見えたので、GoogleはlibGL.so.1
エラーメッセージを検索しましたが、2つのことがわかりました。次の2つの回避策を順番に試してください。
説明どおりここシンボリックリンクを試してください
libGL.so.1
。ln -sv /usr/lib/i386-linux-gnu/libGL.so.1.2 /usr/lib/libGL.so.1
私がリンクした答えのパスをDebian専用に修正しました。
回答ここlibgl1-mesa-glx:i386
(すでに行った)プラスlibgl1-mesa-dri:i386
(次に試してみることをお勧めします)をインストールすることをお勧めします。
アップデート:ついに効果があったもの
apt-get purge libgl1-mesa-glx:i386
apt-get install libgl1-mesa-glx:i386
ln -s /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 /usr/lib/i386-linux-gnu/