So, I have a working multilib setup as per the slackbook instructions. I have wine successfully working with 32 bit Windows programs (namely Skyrim and Deus Ex: Human Revolution). And I have pulseaudio successfully installed and configured for native 64 bit programs. Normally, I kill pulseaudio with pulseaudio --kill prior to using wine, as when I run something without doing so, this pops up in the terminal I start it from:
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
This following part I've since solved by adding export ARCH=i486 after the . /etc/profile.d/32dev.sh as I noticed was required on the multilib page in Slackbook. The fix allowed me to at least get json-c and speex (specified dependencies for pulseaudio on slackbuilds.org) compiled as i486 packages which I then converted to compat32 packages with convertpkg-compat32 and installed.
I've tried the recommended
# . /etc/profile.d/32dev.sh
prior to running
sbopkg -b pulseaudio, but the resulting package ends up still being an x86-64, rather than i486, package. And since Slackware doesn't natively have pulseaudio included in the distribution, and nor does Alienbob have a compiled version up for it on his slackbuilds repository, I haven't been able to come across a 32 bit binary package to runconverpkg-compat32on.
The remaining problem, however, is that when I go to compile pulseaudio using the same method used to compile those dependencies, I get this:
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
This following issue I fixed by installing libcap and GConf as compat32 packages, followed by re-running the pulseaudio.Slackbuild script (again, in the 32dev environment as with the above packages).
Is this a matter of a missing library I still need to install as a dependency, not mentioned on Slackbuilds.org? It certainly wouldn't be the first time I've encountered that situation, but usually my errors are a little more helpful when it comes to hunting down the library I need.
Having gotten pulseaudio thus installed, I went to run winecfg to test sound (Note: I tried doing this both with /usr/bin/pulseaudio --start, and when that didn't work, killed the server and tried with /usr/bin/32/pulseaudio --start. Both yielded the same result). The resulting error message followed:
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
I tried backing up the /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so and making a symlink at that location to /usr/lib/alsa-lib/libasound_module_pcm_pulse.so, as well as copying the file, neither of which had any effect whatsoever on the error message that came out. Also, I tried setting the environment variable ALSA_MIXER_SIMPLE_MODULES to /usr/lib/alsa-lib, still to no avail. Starting to run out of ideas.
I know this is pretty uncharted territory with Slackware, as the majority of users seem to have no interest in using it, but there being no reason why it wouldn't be workable, I'm just curious if anyone has any sage advice on getting this package compiled so I can get it installed. If anyone has direct experience with this situation, so much the better.