Então, eu tenho uma configuração de multilib de trabalho de acordo com o slackbook instruções. Eu tenho vinho trabalhando com sucesso com programas de 32 bits do Windows (ou seja, Skyrim e Deus Ex: Human Revolution). E eu tenho pulseaudio instalado e configurado com sucesso para programas nativos de 64 bits. Normalmente, eu mato pulseaudio com pulseaudio --kill
antes de usar o vinho, como quando eu corro alguma coisa sem fazê-lo, isso aparece no terminal eu inicio de:
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
Esta parte seguinte eu desde então resolvi adicionando export ARCH=i486
depois de . /etc/profile.d/32dev.sh
como eu notei era necessário na página multilib no Slackbook. A correção me permitiu, pelo menos, obter json-c e speex (dependências especificadas para pulseaudio em slackbuilds.org) compiladas como pacotes i486 que eu então converti para pacotes compat32 com convertpkg-compat32 e instalei.
Eu tentei o recomendado
#. /etc/profile.d/32dev.sh
antes de correr
sbopkg -b pulseaudio
, mas o pacote resultante acaba sendo um pacote x86-64, em vez de i486. E como o Slackware não inclui o pulseaudio na distribuição, e nem o Alienbob tem uma versão compilada para ele em seu repositório slackbuilds, eu não consegui encontrar um pacote binário de 32 bits para rodarconverpkg-compat32
em.
O problema restante, no entanto, é que quando eu vou compilar o pulseaudio usando o mesmo método usado para compilar essas dependências, eu entendo isto:
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
Este problema a seguir eu consertei instalando o libcap e o GConf como pacotes compat32, seguido por re-execução do script pulseaudio.Slackbuild (novamente, no ambiente 32dev como nos pacotes acima).
Esta é uma questão de falta de uma biblioteca que ainda preciso instalar como dependência, não mencionada no Slackbuilds.org? Certamente não seria a primeira vez que eu encontrei essa situação, mas geralmente meus erros são um pouco mais úteis quando se trata de caçar a biblioteca que eu preciso.
Tendo obtido pulseaudio assim instalado, fui correr winecfg
para testar o som (Nota: eu tentei fazer isso tanto com /usr/bin/pulseaudio --start
, e quando isso não funcionou, matou o servidor e tentou com /usr/bin/32/pulseaudio --start
. Ambos produziram o mesmo resultado). A mensagem de erro resultante foi seguida:
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
Eu tentei fazer o backup do /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so e fazer um link simbólico naquele local para /usr/lib/alsa-lib/libasound_module_pcm_pulse.so, assim como copiar o arquivo, nenhum dos quais tinha qualquer efeito sobre a mensagem de erro que saiu. Além disso, tentei definir a variável de ambiente ALSA_MIXER_SIMPLE_MODULES
para /usr/lib/alsa-lib
, ainda sem sucesso. Começando a ficar sem ideias.
Eu sei que este é um território bastante desconhecido no Slackware, já que a maioria dos usuários parece não ter interesse em usá-lo, mas não há razão para que ele não funcione, estou curioso para saber se alguém tem algum conselho este pacote compilado para que eu possa instalá-lo. Se alguém tiver experiência direta com essa situação, tanto melhor.