Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 545534

Summary: media-libs/alsa-lib ABI_X86=32 on multiilib should enforce media-plugins/alsa-plugins to be installed with ABI_X86=32
Product: Gentoo Linux Reporter: Till Schäfer <till2.schaefer>
Component: Current packagesAssignee: Gentoo ALSA team <alsa-bugs>
Status: UNCONFIRMED ---    
Severity: normal CC: floppym, gnome, jstein, multilib+disabled, sound
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Till Schäfer 2015-04-04 16:55:51 UTC
running a steam game i got the following error: 

ALSA lib /var/tmp/portage/media-libs/alsa-lib-1.0.28/work/alsa-lib-1.0.28/src/dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so


This is caused by missing 32 bit alsa plungins. 

However, the dependencies are not so clear to me, as alsa-lib does not require alsa-plugins to be installed and therefore cannot directly depend on 32 bit. 

Is there any other way to enforce 32 bit installation of alsa-plugins if alsa-lib is installed with 32 bit or should the package that requires 32 bit alsa-plugins enforce this? I do not think there is a use case where someone wants to install alsa-lib and alsa-plugins but only alsa-lib as 32 bit.

Reproducible: Always
Comment 1 Mike Gilbert gentoo-dev 2015-04-05 03:20:47 UTC
I don't think there is any reasonable way to accomplish what you are asking in the general case.

However, in the case of pulseaudio, the PDEPEND on alsa-plugins could be updated to this:

# This is a PDEPEND to avoid a circular dep
PDEPEND="alsa? ( alsa-plugin? (
    >=media-plugins/alsa-plugins-1.0.27-r1[pulseaudio,${MULITLIB_USEDEP}]
) )"

Assuming you have abi_x86_32 enabled on pulseaudio, that would also force you to have alsa-plugins with abi_x86_32.
Comment 2 Till Schäfer 2015-04-05 09:37:11 UTC
sounds reasonable and would actually solve my problem.
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-04-05 09:52:20 UTC
I was actually thinking about this in the past and then forgot about it. This not limited to ALSA but also extends to PAM, nss… Long story short, any plugin system doesn't force correct USE dependencies on Gentoo.

One possible solution is to have abi_x86_32= flags on plugins, i.e. alsa-plugins would have:

  media-sound/alsa-lib[abi_x86_64(-)=,abi_x86_32(-)=,...]

This would prevent installing alsa-plugins with 32-bit support disabled when it's enabled on ALSA itself. However, I suspect that in the most cases Portage would ask users to disable 32-bit alsa-lib rather than enable it on the plugins.