Created attachment 777260 [details] Output of `emerge --info` Hi, I wanted to load the module-virtual-surround-sink module and the module is not present in my system: ``` $ pactl load-module module-virtual-surround-sink Failure: Module initialization failed ``` The system logs state the following: ``` May 7 12:07:14 <host> pulseaudio[3983]: [pulseaudio] ltdl-bind-now.c: Failed to open module module-virtual-surround-sink.so: module-virtual-surround-sink.so: cannot open shared object file: No such file or directory May 7 12:07:14 <host> pulseaudio[3983]: [pulseaudio] module.c: Failed to open module "module-virtual-surround-sink". ``` The source files seem to be present in the package sources under `pulseaudio-15.0/src/modules/module-virtual-surround-sink.c`, so my guess is that we are missing some macro define or build system setting. Maybe we are missing other modules as well, this is just the one I was attempting to load at the time.
(In reply to Héctor Barreras from comment #0) > Created attachment 777260 [details] > Output of `emerge --info` > > Hi, > > I wanted to load the module-virtual-surround-sink module and the module is > not present in my system: > > ``` > $ pactl load-module module-virtual-surround-sink > Failure: Module initialization failed > ``` > > The system logs state the following: > > ``` > May 7 12:07:14 <host> pulseaudio[3983]: [pulseaudio] ltdl-bind-now.c: > Failed to open module module-virtual-surround-sink.so: > module-virtual-surround-sink.so: cannot open shared object file: No such > file or directory > May 7 12:07:14 <host> pulseaudio[3983]: [pulseaudio] module.c: Failed to > open module "module-virtual-surround-sink". > > ``` > > The source files seem to be present in the package sources under > `pulseaudio-15.0/src/modules/module-virtual-surround-sink.c`, so my guess is > that we are missing some macro define or build system setting. Maybe we are > missing other modules as well, this is just the one I was attempting to load > at the time. You need FFTW for module-virtual-surround-sink module. FFTW dependency will be explicitly pulled if you have USE 'equalizer' otherwise fftw will be detected and used if installed. This implicit dependency looks like a bug so probably needs to be treated somehow. I think adding USE fftw to pulseaudio daemon ebuild and making it behave to enable 'fftw' feature of pulseaudio daemon is a good way forward (that is, either USE 'equalizer' or USE 'fftw' or both will enable FFTW.)
Apologies, I have been inactive here for some days now. Thank you very much Igor, I see the pull request is waiting to be merged against master. I really appreciate you sharing the workaround and fixing the ebuild.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba46ce03b945355d460941112183b7d53a0343eb commit ba46ce03b945355d460941112183b7d53a0343eb Author: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> AuthorDate: 2022-05-12 20:55:26 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-06-10 06:57:38 +0000 media-sound/pulseaudio-daemon: Untangle USE equalizer and fftw For USE equalizer pull required sci-libs/fftw as build and runtime dependency. Add USE fftw to enable module-virtual-surround-sink. Closes: https://bugs.gentoo.org/843131 Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> media-sound/pulseaudio-daemon/metadata.xml | 5 ++++- .../pulseaudio-daemon/pulseaudio-daemon-16.0.ebuild | 14 +++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-)