32bit pipewire-alsa crashes when 32bit spa-plugins are not installed
minimal reproducer, compile with `gcc -m32 -lasound :
#include <alsa/asoundlib.h>
int main(int argc, char **argv) {
snd_pcm_t *pcm;
snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK, 0);
return 0;
}
Crashes with the following log:
[E][pipewire.c:344 add_interface()] can't get Spa:Pointer:Interface:Log interface -2
[E][pipewire.c:450 load_journal_logger()] can't get log interface -2
[E][pipewire.c:344 add_interface()] can't get Spa:Pointer:Interface:CPU interface -2
[E][loop.c:85 pw_loop_new()] loop 0x5854d720: can't make support.system handle: No such file or directory
The current Arch Linux lib32-pipewire package is compiled with spa-plugins=disabled
https://github.com/archlinux/svntogit-community/blob/packages/lib32-pipewire/trunk/PKGBUILD#L41
This causes every 32bit alsa application to crash. Changing the PKGBUILD to include the spa-plugins fixes the issue.
I'm opening an issue here first because I think at least the build system should disallow building the alsa-plugin without the spa-plugins if they are essential to work at all.