Warning: there may be occasional oddness due to css and blog edits. **KNOWN ISSUE: possible hidden text**

Wednesday, May 24, 2023

The trouble with alsa

The trouble with alsa-plugins could be unique to me, which seems too often to be the case when I do choose to submit a bug report.  I have decided to play Veloren a bit more often in lieu of minetest.  In ports now is games/veloren-weekly which means this game client/server combo install will be updated by the maintainer on a 7-day cycle.  I adjusted a copy of the Makefile in my personal Ported_Software directory after copying everything else from /usr/ports/games/veloren-weekly.  My only change being to revise the commit hash and date.  This is one of the few ports that I know of which would follow the most recent git repo commit hash in a similar fashion as my own.  My revised veloren port got through all of its build and then the install of it discovered that alsa was incomplete, alsa-plugins being one of the dependencies, and it failed to install.

Instead of alsa-plugins getting installed, it stops with an error from pkg-static:

mkdir -p /usr/ports/audio/alsa-plugins/work/stage/usr/local/etc/alsa/conf.d
cd /usr/ports/audio/alsa-plugins/work/stage/usr/local/etc/alsa/conf.d
/bin/rm -f 60-speex.conf; ln -s /usr/local/share/alsa/alsa.conf.d/60-speex.conf .
cd /usr/ports/audio/alsa-plugins/work/stage/usr/local/etc/alsa/conf.d && for i in [0-9][0-9]-*.conf ; do  /bin/ln -sf ../../../share/alsa/alsa.conf.d/$i .  ; done
====> Compressing man pages (compress-man)
===>   Installing ldconfig configuration file
===>  Installing for alsa-plugins-1.2.2_9
===>  Checking if alsa-plugins is already installed
===>   Registering installation for alsa-plugins-1.2.2_9
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/etc/alsa/conf.d/10-rate-lav.conf:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/etc/alsa/conf.d/60-a52-encoder.conf:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_pcm_a52.la:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_pcm_a52.so:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_rate_lavrate.la:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_rate_lavrate.so:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_rate_lavrate_fast.so:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_rate_lavrate_faster.so:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_rate_lavrate_high.so:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/lib/alsa-lib/libasound_module_rate_lavrate_higher.so:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/share/alsa/alsa.conf.d/10-rate-lav.conf:No such file or directory
pkg-static: Unable to access file /usr/ports/audio/alsa-plugins/work/stage/usr/local/share/alsa/alsa.conf.d/60-a52-encoder.conf:No such file or directory
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/audio/alsa-plugins
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/audio/alsa-plugins
*** Error code 1

Stop.
make: stopped in /usr/ports/audio/alsa-plugins
root@ichigo:/usr/ports/audio/alsa-plugins #

Since I have handled numerous updates to my unofficial ports, from time to time I see a similar message.  What this means is that something about the install has changed but the pkg-plist no longer matches what was built.  Just as when updating minetest-dev or some other of my unofficial ports, what needs to be done is to set aside the pkg-plist by renaming it pkg-plist-old, and then re-creating one.  This is a quick and easy task, simply make makeplist > pkg-plist and edit the result to remove one line.  I assume that what gets built with my present alsa-plugins configuration is what would satisfy Veloren, I will just replace the pkg-plist to solve the pkg-static error messages.  The result of creating the new pkg-plist when I do a diff between them, just to show you how they are not identical, is below.  The one line I had to remove is: /you/have/to/check/what/makeplist/gives/you

root@ichigo:/usr/ports/audio/alsa-plugins # diff -y -W 120 pkg-plist pkg-plist-old | more
etc/alsa/conf.d/10-samplerate.conf                         |    %%FFMPEG%%etc/alsa/conf.d/10-rate-lav.conf
etc/alsa/conf.d/10-speexrate.conf                          |    %%SAMPLERATE%%etc/alsa/conf.d/10-samplerate.conf
etc/alsa/conf.d/50-arcam-av-ctl.conf                       |    %%FFMPEG%%etc/alsa/conf.d/60-a52-encoder.conf
etc/alsa/conf.d/50-oss.conf                                |    @comment etc/alsa/conf.d/50-arcam-av-ctl.conf
etc/alsa/conf.d/60-speex.conf                              |    @comment etc/alsa/conf.d/50-oss.conf
etc/alsa/conf.d/60-upmix.conf                              |    @comment etc/alsa/conf.d/50-pulseaudio.conf
etc/alsa/conf.d/60-vdownmix.conf                           |    %%SPEEX%%etc/alsa/conf.d/60-speex.conf
etc/alsa/conf.d/98-usb-stream.conf                         |    @comment etc/alsa/conf.d/60-upmix.conf
                                                           >    @comment etc/alsa/conf.d/60-vdownmix.conf
                                                           >    @comment etc/alsa/conf.d/98-usb-stream.conf
                                                           >    @comment etc/alsa/conf.d/99-pulseaudio-default.conf.exa
                                                           >    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_conf_pulse.
                                                           >    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_conf_pulse.
lib/alsa-lib/libasound_module_ctl_arcam_av.la                   lib/alsa-lib/libasound_module_ctl_arcam_av.la
lib/alsa-lib/libasound_module_ctl_arcam_av.so                   lib/alsa-lib/libasound_module_ctl_arcam_av.so
lib/alsa-lib/libasound_module_ctl_oss.la                        lib/alsa-lib/libasound_module_ctl_oss.la
lib/alsa-lib/libasound_module_ctl_oss.so                        lib/alsa-lib/libasound_module_ctl_oss.so
                                                           >    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_ctl_pulse.l
                                                           >    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_ctl_pulse.s
                                                           >    %%FFMPEG%%lib/alsa-lib/libasound_module_pcm_a52.la
                                                           >    %%FFMPEG%%lib/alsa-lib/libasound_module_pcm_a52.so
                                                           >    %%JACK%%lib/alsa-lib/libasound_module_pcm_jack.la
                                                           >    %%JACK%%lib/alsa-lib/libasound_module_pcm_jack.so
lib/alsa-lib/libasound_module_pcm_oss.la                        lib/alsa-lib/libasound_module_pcm_oss.la
lib/alsa-lib/libasound_module_pcm_oss.so                        lib/alsa-lib/libasound_module_pcm_oss.so
lib/alsa-lib/libasound_module_pcm_speex.la                 |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_pcm_pulse.l
lib/alsa-lib/libasound_module_pcm_speex.so                 |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_pcm_pulse.s
                                                           >    %%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.la
                                                           >    %%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.so
lib/alsa-lib/libasound_module_pcm_upmix.la                      lib/alsa-lib/libasound_module_pcm_upmix.la
lib/alsa-lib/libasound_module_pcm_upmix.so                      lib/alsa-lib/libasound_module_pcm_upmix.so
lib/alsa-lib/libasound_module_pcm_usb_stream.la                 lib/alsa-lib/libasound_module_pcm_usb_stream.la
lib/alsa-lib/libasound_module_pcm_usb_stream.so                 lib/alsa-lib/libasound_module_pcm_usb_stream.so
lib/alsa-lib/libasound_module_pcm_vdownmix.la                   lib/alsa-lib/libasound_module_pcm_vdownmix.la
lib/alsa-lib/libasound_module_pcm_vdownmix.so                   lib/alsa-lib/libasound_module_pcm_vdownmix.so
lib/alsa-lib/libasound_module_rate_samplerate.la           |    %%FFMPEG%%lib/alsa-lib/libasound_module_rate_lavrate.la
lib/alsa-lib/libasound_module_rate_samplerate.so           |    %%FFMPEG%%lib/alsa-lib/libasound_module_rate_lavrate.so
lib/alsa-lib/libasound_module_rate_samplerate_best.so      |    %%FFMPEG%%lib/alsa-lib/libasound_module_rate_lavrate_fa
lib/alsa-lib/libasound_module_rate_samplerate_linear.so    |    %%FFMPEG%%lib/alsa-lib/libasound_module_rate_lavrate_fa
lib/alsa-lib/libasound_module_rate_samplerate_medium.so    |    %%FFMPEG%%lib/alsa-lib/libasound_module_rate_lavrate_hi
lib/alsa-lib/libasound_module_rate_samplerate_order.so     |    %%FFMPEG%%lib/alsa-lib/libasound_module_rate_lavrate_hi
lib/alsa-lib/libasound_module_rate_speexrate.la            |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_speexrate.so            |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_speexrate_best.so       |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_speexrate_medium.so     |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
libdata/ldconfig/alsa-plugins                              |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
share/alsa/alsa.conf.d/10-samplerate.conf                  |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
share/alsa/alsa.conf.d/10-speexrate.conf                   |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.l
share/alsa/alsa.conf.d/50-arcam-av-ctl.conf                |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.s
share/alsa/alsa.conf.d/50-oss.conf                         |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate_b
share/alsa/alsa.conf.d/60-speex.conf                       |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate_m
share/alsa/alsa.conf.d/60-upmix.conf                       |    %%FFMPEG%%share/alsa/alsa.conf.d/10-rate-lav.conf
share/alsa/alsa.conf.d/60-vdownmix.conf                    |    %%SAMPLERATE%%share/alsa/alsa.conf.d/10-samplerate.conf
share/alsa/alsa.conf.d/98-usb-stream.conf                  |    @comment share/alsa/alsa.conf.d/50-arcam-av-ctl.conf
                                                           >    @comment share/alsa/alsa.conf.d/50-oss.conf
                                                           >    %%PULSEAUDIO%%share/alsa/alsa.conf.d/50-pulseaudio.conf
                                                           >    %%FFMPEG%%share/alsa/alsa.conf.d/60-a52-encoder.conf
                                                           >    %%SPEEX%%share/alsa/alsa.conf.d/60-speex.conf
                                                           >    @comment share/alsa/alsa.conf.d/60-upmix.conf
                                                           >    @comment share/alsa/alsa.conf.d/60-vdownmix.conf
                                                           >    @comment share/alsa/alsa.conf.d/98-usb-stream.conf

You may notice those items which are in the error messages from install are omitted from the new pkg-plist on the left or have changed to reflect what is now installed.  Of course, because I am doing this sort of 'quick and dirty' solve for installing this dependency for games/veloren, there are a number of other differences.  The old pkg-plist includes all options ticked which have conditional pkg include tags related to each config option, such as %%SPEEX%% and %%FFMPEG%% which I may not have ticked in this recent install.

After this cure for the pkg-plist issue I had when installing alsa-plugins to satisfy the dependency for veloren-weekly, it can be successfully installed (because the pkg-pliat will now match what will get installed) and I can then install veloren-weekly as initially desired.  This sort of fix is fairly simple and could apply to nearly any port which strangely has a pkg-plist issue like this one.  With regard to my veloren-weekly install, I would need to re-generate the distinfo file in order to begin the reinstall process with the updated upstream commit source.

Should this pkg-plist disparity linger for any significant period of time, it would be a good candidate for a bugzilla report to help its maintainer to recognize an adjustment needs to be made for the pkg-plist.  However, I intend to assume that my system, my install, my build methods, and anything else which could affect the legitimacy of such a bug report are suspect or different or incorrect or flawed, and so I will not be making a report.  It may also already be the case that this has been updated within the time it has taken me to write this blog post.

Addendum

Whoops, a more proper less quick or dirty fix for alsa-plugins means I have to revise the pkg-plist correctly.  I had hoped that my less pretty solution would have worked but I lacked audio even though veloren was satisfied by the dependencies and successfully built.  This meant I did a much more careful comparison (diff) and modification of the generated pkg-plist to match what had been built.

The diff that I ended with is below.  If you compare the fixed one with the unedited pkg-plist in the above blog post, there are still oddities of things missing or present or renamed.  Even though it seems odd, the fixed pkg-plist did result with audio in veloren.

root@ichigo:/usr/ports/audio/alsa-plugins # diff -y -W 120 pkg-plist pkg-plist-fixed | more
etc/alsa/conf.d/10-samplerate.conf                         |    %%SAMPLERATE%%etc/alsa/conf.d/10-samplerate.conf
etc/alsa/conf.d/10-speexrate.conf                          |    %%SPEEX%%etc/alsa/conf.d/10-speexrate.conf
etc/alsa/conf.d/50-arcam-av-ctl.conf                       |    @comment etc/alsa/conf.d/50-arcam-av-ctl.conf
etc/alsa/conf.d/50-jack.conf                               |    @comment etc/alsa/conf.d/50-jack.conf
etc/alsa/conf.d/50-oss.conf                                |    @comment etc/alsa/conf.d/50-oss.conf
etc/alsa/conf.d/50-pulseaudio.conf                         |    @comment etc/alsa/conf.d/50-pulseaudio.conf
etc/alsa/conf.d/60-speex.conf                              |    %%SPEEX%%etc/alsa/conf.d/60-speex.conf
etc/alsa/conf.d/60-upmix.conf                              |    @comment etc/alsa/conf.d/60-upmix.conf
etc/alsa/conf.d/60-vdownmix.conf                           |    @comment etc/alsa/conf.d/60-vdownmix.conf
etc/alsa/conf.d/98-usb-stream.conf                         |    @comment etc/alsa/conf.d/98-usb-stream.conf
etc/alsa/conf.d/99-pulseaudio-default.conf.example         |    @comment etc/alsa/conf.d/99-pulseaudio-default.conf.exa
lib/alsa-lib/libasound_module_conf_pulse.la                |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_conf_pulse.
lib/alsa-lib/libasound_module_conf_pulse.so                |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_conf_pulse.
lib/alsa-lib/libasound_module_ctl_arcam_av.la                   lib/alsa-lib/libasound_module_ctl_arcam_av.la
lib/alsa-lib/libasound_module_ctl_arcam_av.so                   lib/alsa-lib/libasound_module_ctl_arcam_av.so
lib/alsa-lib/libasound_module_ctl_oss.la                        lib/alsa-lib/libasound_module_ctl_oss.la
lib/alsa-lib/libasound_module_ctl_oss.so                        lib/alsa-lib/libasound_module_ctl_oss.so
lib/alsa-lib/libasound_module_ctl_pulse.la                 |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_ctl_pulse.l
lib/alsa-lib/libasound_module_ctl_pulse.so                 |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_ctl_pulse.s
lib/alsa-lib/libasound_module_pcm_jack.la                  |    %%JACK%%lib/alsa-lib/libasound_module_pcm_jack.la
lib/alsa-lib/libasound_module_pcm_jack.so                  |    %%JACK%%lib/alsa-lib/libasound_module_pcm_jack.so
lib/alsa-lib/libasound_module_pcm_oss.la                        lib/alsa-lib/libasound_module_pcm_oss.la
lib/alsa-lib/libasound_module_pcm_oss.so                        lib/alsa-lib/libasound_module_pcm_oss.so
lib/alsa-lib/libasound_module_pcm_pulse.la                 |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_pcm_pulse.l
lib/alsa-lib/libasound_module_pcm_pulse.so                 |    %%PULSEAUDIO%%lib/alsa-lib/libasound_module_pcm_pulse.s
lib/alsa-lib/libasound_module_pcm_speex.la                 |    %%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.la
lib/alsa-lib/libasound_module_pcm_speex.so                 |    %%SPEEX%%lib/alsa-lib/libasound_module_pcm_speex.so
lib/alsa-lib/libasound_module_pcm_upmix.la                      lib/alsa-lib/libasound_module_pcm_upmix.la
lib/alsa-lib/libasound_module_pcm_upmix.so                      lib/alsa-lib/libasound_module_pcm_upmix.so
lib/alsa-lib/libasound_module_pcm_usb_stream.la                 lib/alsa-lib/libasound_module_pcm_usb_stream.la
lib/alsa-lib/libasound_module_pcm_usb_stream.so                 lib/alsa-lib/libasound_module_pcm_usb_stream.so
lib/alsa-lib/libasound_module_pcm_vdownmix.la                   lib/alsa-lib/libasound_module_pcm_vdownmix.la
lib/alsa-lib/libasound_module_pcm_vdownmix.so                   lib/alsa-lib/libasound_module_pcm_vdownmix.so
lib/alsa-lib/libasound_module_rate_samplerate.la           |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_samplerate.so           |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_samplerate_best.so      |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_samplerate_linear.so    |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_samplerate_medium.so    |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_samplerate_order.so     |    %%SAMPLERATE%%lib/alsa-lib/libasound_module_rate_sample
lib/alsa-lib/libasound_module_rate_speexrate.la            |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.l
lib/alsa-lib/libasound_module_rate_speexrate.so            |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate.s
lib/alsa-lib/libasound_module_rate_speexrate_best.so       |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate_b
lib/alsa-lib/libasound_module_rate_speexrate_medium.so     |    %%SPEEX%%lib/alsa-lib/libasound_module_rate_speexrate_m
libdata/ldconfig/alsa-plugins                                   libdata/ldconfig/alsa-plugins
share/alsa/alsa.conf.d/10-samplerate.conf                  |    %%SAMPLERATE%%share/alsa/alsa.conf.d/10-samplerate.conf
share/alsa/alsa.conf.d/10-speexrate.conf                   |    %%SPEEX%%share/alsa/alsa.conf.d/10-speexrate.conf
share/alsa/alsa.conf.d/50-arcam-av-ctl.conf                |    @comment share/alsa/alsa.conf.d/50-arcam-av-ctl.conf
share/alsa/alsa.conf.d/50-jack.conf                        |    %%JACK%%share/alsa/alsa.conf.d/50-jack.conf
share/alsa/alsa.conf.d/50-oss.conf                         |    @comment share/alsa/alsa.conf.d/50-oss.conf
share/alsa/alsa.conf.d/50-pulseaudio.conf                  |    %%PULSEAUDIO%%share/alsa/alsa.conf.d/50-pulseaudio.conf
share/alsa/alsa.conf.d/60-speex.conf                       |    %%SPEEX%%share/alsa/alsa.conf.d/60-speex.conf
share/alsa/alsa.conf.d/60-upmix.conf                       |    @comment share/alsa/alsa.conf.d/60-upmix.conf
share/alsa/alsa.conf.d/60-vdownmix.conf                    |    @comment share/alsa/alsa.conf.d/60-vdownmix.conf
share/alsa/alsa.conf.d/98-usb-stream.conf                  |    @comment share/alsa/alsa.conf.d/98-usb-stream.conf

No comments:

Post a Comment

Thank you for your interest!

Frequently viewed this week