だから、私は slackbook の指示に従って動作するmultilibセットアップを持っています。私は32ビットのWindowsプログラム(つまりSkyrimとDeus Ex:Human Revolution)でうまく動作するワインを持っています。そして、私はpulseaudioをネイティブ64ビットプログラム用に正常にインストールして設定しました。通常、wineを使用する前にpulseaudio --kill
でpulseaudioを強制終了します。そうせずに何かを実行すると、起動元のターミナルにポップアップが表示されます。
fixme:win:EnumDisplayDevicesW ((null),0,0x33f7d8,0x00000000), stub!
ALSA lib Pulse.c:243:(Pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib Pulse.c:243:(Pulse_connect) PulseAudio: Unable to connect: Connection refused
この次の部分は、Slackbookのmultilibページで必要であることに気付いたので、export Arch=i486
の後に. /etc/profile.d/32dev.sh
を追加することで解決しました。この修正により、少なくともjson-cとspeex(slackbuilds.orgのpulseaudioの指定された依存関係)をi486パッケージとしてコンパイルし、convertpkg-compat32を使用してcompat32パッケージに変換してインストールすることができました。
私はお勧めを試しました
#。 /etc/profile.d/32dev.sh
sbopkg -b pulseaudio
を実行する前ですが、結果のパッケージはi486ではなくx86-64パッケージのままになります。また、Slackwareにはネイティブにpulseaudioがディストリビューションに含まれておらず、Alienbobのslackbuildsリポジトリにコンパイルされたバージョンがないため、converpkg-compat32
を実行するための32ビットバイナリパッケージを見つけることができませんでした。
ただし、残りの問題は、これらの依存関係のコンパイルに使用したのと同じ方法を使用してpulseaudioをコンパイルしようとすると、次のようになることです。
daemon/pulseaudio-caps.o: In function `pa_drop_caps':
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:85: undefined reference to `cap_init'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:86: undefined reference to `cap_clear'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:87: undefined reference to `cap_set_proc'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:88: undefined reference to `cap_free'
collect2: error: ld returned 1 exit status
make[3]: *** [pulseaudio] Error 1
この次の問題は、libcapとGConfをcompat32パッケージとしてインストールした後、pulseaudio.Slackbuildスクリプトを再実行することで修正しました(ここでも、上記のパッケージと同様に32dev環境で)。
これは、Slackbuilds.orgに記載されていない、依存関係としてインストールする必要があるライブラリがないという問題ですか?私がそのような状況に遭遇したのは確かに初めてではありませんが、通常、必要なライブラリを探すことになると、私のエラーはもう少し役に立ちます。
このようにpulseaudioをインストールしたら、winecfg
を実行してサウンドをテストしました(注:これを/usr/bin/pulseaudio --start
で実行しようとしましたが、それが機能しない場合は、サーバーを強制終了して/usr/bin/32/pulseaudio --start
で試行しました。どちらも同じ結果になりました。結果)。結果のエラーメッセージは次のとおりです。
ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_pcm_Pulse.so
ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_pcm_Pulse.so
libgcc_s.so.1 must be installed for pthread_cancel to work
/usr/lib64/alsa-lib/libasound_module_pcm_Pulse.soをバックアップし、その場所に/usr/lib/alsa-lib/libasound_module_pcm_Pulse.soへのシンボリックリンクを作成し、ファイルをコピーしてみました。出てきたエラーメッセージに何でも影響します。また、環境変数ALSA_MIXER_SIMPLE_MODULES
を/usr/lib/alsa-lib
に設定しようとしましたが、それでも役に立ちませんでした。アイデアが不足し始めています。
大多数のユーザーがSlackwareを使用することに興味がないように見えるため、これはSlackwareの未知の領域であることを私は知っていますが、それが機能しない理由はありません。誰かが取得について賢明なアドバイスを持っているかどうかだけ知りたいですこのパッケージは、インストールできるようにコンパイルされています。誰かがこの状況を直接経験しているなら、はるかに良いです。
したがって、これに関する多くの悲しみの原因は、各ステップの後にwinecfg
を使用してテストしていたようです(これでも、編集の最後の質問で行ったのと同じエラーが発生します)。重要なことは、途中で、実際にワインでwin32アプリケーションを使用することですDID作業を開始します。
これに沿ってやってくる人のために私が思う関連情報は次のとおりです。
export Arch=i486
を使用する前、または.Slackbuildスクリプトを実行する前に、. /etc/profile.d/32dev.sh
の使用に加えてsbopkg -b
を確認する必要があります。これは実際にはSlackbookにある説明に記載されていますが、見逃しやすいように見えたので(または、少なくとも私は個人的に見逃した)、念のためここに含めます。json-c
とspeex
に加えて、compat32形式のlibcap
とGConf
も必要ですが、これを実現するには、両方のパッケージを取得します。 (Slackware64ではなく)Slackwareから mirror 「L」パッケージセット内。他のいくつかのパッケージの中でもalsa-plugins
が必要ですが、これらはすべて、Slackbookの multilib の指示に従うプロセスに含まれている必要があります。pcm.!default {
type Pulse
}
ctl.!default {
type Pulse
}
pcm.phononpulse
{
type plug
slave.pcm
{
type Pulse
}
hint
{
show on
description "PulseAudio"
}
}
pcm.Pulse {
type Pulse
hint {
show on
description "PulseAudio"
}
}
とにかく、これが私の後に来てこの問題に遭遇した人への良い参考になることを願っています。そうでない場合は、新しいシステムをセットアップするたびに、それを参照する必要があると確信しています。