Subject: bug#31591: closed (Re: [bug#31934] [PATCH] services: sound: Properly handle alsa-plugins.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 25 Jun 2018 15:36:03 +0000

Your bug report

#31591: alsamixer Cannot open shared library libasound_module_ctl_pulse.so

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
31591: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=31591
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#31934] [PATCH] services: sound: Properly handle alsa-plugins.
From: [email-masked] (宋文武)
To: Oleg Pykhalov <[email-masked]>
Cc: Julien Lepiller <[email-masked]>, [email-masked], [email-masked]
Date: Mon, 25 Jun 2018 23:34:13 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Oleg Pykhalov <[email-masked]> writes:

> Hello,
>
> [email-masked] (宋文武) writes:
>
>> Julien Lepiller <[email-masked]> writes:
>
> […]
>
>> Hello, after some hours of searching...  I found that we can use the
>> 'lib' option in 'pcm_type' and 'ctl_type' to specify the library path
>> for alsa plugins, e.g:
>
> Thats a nice hack :-)  Thank you for working on this.
>
> […]
>
>> So I think we can make our 'alsa-service' do this, instead of patching
>> alsa-lib for 'ALSA_PLUGIN_DIR'.
>
> Done.  Here is a patch which I tested on my machine by ‘system reconfigure’:
>

Thank you, I modified it to keep the 'pulseaudio? #f' function, and
pushed :-)

Subject: alsamixer Cannot open shared library libasound_module_ctl_pulse.so
From: Oleg Pykhalov <[email-masked]>
To: [email-masked]
Date: Fri, 25 May 2018 14:18:37 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Guix,

The alsa-service-type service produces /etc/asound.conf with content:
--8<---------------cut here---------------start------------->8---
# Generated by 'alsa-service'.

# Use PulseAudio by default
pcm.!default {
  type pulse
  fallback "sysdefault"
  hint {
    show on
    description "Default ALSA Output (currently PulseAudio Sound Server)"
  }
}

ctl.!default {
  type pulse
  fallback "sysdefault"
}
--8<---------------cut here---------------end--------------->8---

This config brokes alsamixer utility (removing asound.conf fixes issue):

$ alsamixer
--8<---------------cut here---------------start------------->8---
ALSA lib dlmisc.c:287:(snd1_dlobj_cache_get) Cannot open shared library /gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so ((null): /gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/alsa-lib/libasound_module_ctl_pulse.so: cannot open shared object file: No such file or directory)
cannot open mixer: No such device or address
--8<---------------cut here---------------end--------------->8---

alsa-lib doesn't contain libasound_module_ctl_pulse.so

$ find /gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib
--8<---------------cut here---------------start------------->8---
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/libasound.so
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/libasound.la
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/libasound.so.2
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/pkgconfig
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/pkgconfig/alsa.pc
/gnu/store/98fa0av6rsj9kzrhdw45n9k53gp0d4dg-alsa-lib-1.1.6/lib/libasound.so.2.0.0
--8<---------------cut here---------------end--------------->8---

but alsa-plugins:pulseaudio does

$ find /gnu/store/cfz7jvkzp3k2ginvzz35pyp7zffabksk-alsa-plugins-1.1.6-pulseaudio | grep libasound_module_ctl_pulse.so
--8<---------------cut here---------------start------------->8---
/gnu/store/cfz7jvkzp3k2ginvzz35pyp7zffabksk-alsa-plugins-1.1.6-pulseaudio/lib/alsa-lib/libasound_module_ctl_pulse.so
--8<---------------cut here---------------end--------------->8---

Still after install alsa-utils and alsa-plugins:pulseaudio in my user
profile (I also have alsamixer in system profile), alsamixer cannot find
libasound_module_ctl_pulse.so

Oleg.