After upgrading from alsa-lib-1.0.14_rc3 to alsa-lib-1.0.14a(-r1), all sound apps stop working. Errors vary, but on command line play this is what I get. ALSA lib dlmisc.c:118:(snd_dlsym_verify) unable to verify version for symbol _snd_pcm_empty_open ALSA lib pcm.c:2108:(snd_pcm_open_conf) symbol _snd_pcm_empty_open is not defined inside (null) play stio: Failed writing default: cannot open audio device Other apps report no alsa device or etc. Reverting back to previous alsa-lib versions makes all apps work again immediately after emerge. Not sure if apps need to be re-compiled against the newer alsa-lib, newer kernel, or what. Happy to provide additional info or etc upon request. Just let me know what you need from me if anything to assist in coming up with a resolution. Thanks
Created attachment 125772 [details] emerge --info
Well, then don't use USE="-*" next time ;) *** This bug has been marked as a duplicate of bug 183451 ***
(In reply to comment #2) > Well, then don't use USE="-*" next time ;) FYI, I was told to by someone who was involved with adding those use flags. Thus the combo I have set I got from them. Not anything I came up with on my own or etc. Can't find log of chat, if it was logged, so not sure exactly who I got this from.
Ok this is not a dub so re-posting comments from other bug here. Re-opening bug for resolution :) Ok, it looks as if these plugins are no longer optional. IMHO they should not be optional anymore, flags removed etc. asym dmix empty softvol Before alsa-lib-1.0.14a this worked ALSA_PCM_PLUGINS="iec958 ioplug plug" Now I have to have set ALSA_PCM_PLUGINS="asym dmix empty iec958 ioplug plug softvol" Even though alsa-lib builds without those plugin flags set. Till we have a use case where it works less those flags. They should be dropped as flags, and plugins included all the time. Or by default at min, prefixing flags with a no.
FYI, I determined those flags are required via trial and error. Starting with using the play command to play a mp3. Which produced the following. ALSA lib dlmisc.c:118:(snd_dlsym_verify) unable to verify version for symbol _snd_pcm_empty_open ALSA lib pcm.c:2108:(snd_pcm_open_conf) symbol _snd_pcm_empty_open is not defined inside (null) play stio: Failed writing default: cannot open audio device Noticing empty in the above I added that flag. Then when I issued play again I god different errors. The ones listed below are the symbols from those errors. Error was basically same as above. _snd_pcm_asym_open _snd_pcm_softvol_open _snd_pcm_dmix_open So one by one as I added a flag and play produced a different error. I looked at the name in the symbol, found the corresponding flag, added it. And now I am hole again and all my machines have a working ALSA again :)
Why are use setting the variable ALSA_PCM_PLUGINS anyway (I guess in /etc/make.conf, right?)? If you don't set it, you get all the plugins and no errors. Greetings, Andreas.
(In reply to comment #6) > Why are use setting the variable ALSA_PCM_PLUGINS anyway Answered in comment #3
(In reply to comment #7) > > Why are use setting the variable ALSA_PCM_PLUGINS anyway > > Answered in comment #3 Okay, somebody told you to do that. Did you try without yet? Why did you have to set USE="-*" and ALSA_PCM_PLUGINS in the first place? Bye, Andreas.
(In reply to comment #8) > > Okay, somebody told you to do that. Yes, pretty sure the person/developer who added the flags in the first place. I got it from #gentoo-dev, which is pretty much a dev only voice channel. > Did you try without yet? If you see comment #4, I did trial and errors to find which ones were needed, beyond the ones I have used for months now. > Why did you have to set USE="-*" and ALSA_PCM_PLUGINS in the first place? I never set "-*", I never stated I set that. It's not in my emerge --info attached. It's an incorrect assumption that was made in comment #2. When tying this bug to another with that issue. But it's unrelated, and not the same at all.
OK, I just finally fixed it in the tree. All issues related to this should now be gone, as the alsa-lib ebuild now forces a bare minimum of plugins which need to be (as William pointed out in #c4).