Subject: [bug#43628] Further Info

From: Prafulla Giri <[email-masked]>
Date: Mon, 28 Sep 2020 20:28:02 +0545

I see...

Hmm.... I didn't know they were just 11 people.

Anyways, here is something that an ALSA developer told me... I couldn't
make much of it. But Perhaps you could?

The current alsa-lib code uses the RTLD_DI_ORIGIN glibc extension to
> determine the libasound.so path at runtime. The hardcoded path is used only
> if this mechanism does not work
>

Perhaps you'd like to see our conversation over at GitHub:
https://github.com/alsa-project/alsa-lib/issues/82

You're far more qualified to do this than I am.

On Sun, Sep 27, 2020 at 4:55 PM Julien Lepiller <[email-masked]> wrote:

>
>
> Le 27 septembre 2020 01:56:31 GMT-04:00, Prafulla Giri <
> [email-masked]> a écrit :
> >First and foremost: wow. A post-doc at just three years older than me.
> >*cries in high-school drop-out* Super awesome!
> >
> >I have cleaned up my package definition as per your review:
> >
> https://github.com/peanutbutterandcrackers/guix-packages/blob/master/aegisub.scm
> >
> >I will look into the matter then. Might take me a while, but I'll try.
> >
> >It's sad that framagit is closing. I think they were doing a great job
> >with
> >peertube and all...
>
> Well, it's framasoft, they started so many services that they can't handle
> the load anymore. So they've started closing them little by little last
> year. Some of them will stay, and others will disappear. They never wanted
> to centralize the web around them, so it's understandable. Instead, they
> propose other alternatives, they've started the chaton initiative (where
> other structures propose the same kind of services, at a smaller scale),
> etc.
>
> They're still developping peertube, don't worry about that. But they're
> not going to host a public instance. Remember they're about 10 volunteers
> and one employee :)
>
> >
> >On Sun, Sep 27, 2020 at 3:00 AM Julien Lepiller <[email-masked]>
> >wrote:
> >
> >> Thanks! On the guix system, aegisub already works properly (at least
> >it
> >> did when I last used it), because the alsa config allows it to find
> >> pulseaudio.
> >>
> >> There are three issues with your proposed change:
> >>
> >> First using derivation-outputs is a bad idea, and it probably only
> >works
> >> because alsa-plugin doesn't depend on your modified alsa-lib (you'd
> >get an
> >> infinite loop I think). Since alsa-plugin doesn't depend on this
> >modified
> >> alsa-lib, you don't need such a convoluted work around. When defining
> >the
> >> conhigure flags, you can simply use (assoc-ref %build-inputs
> >"alsa-plugin")
> >> when "alsa-plugin" is defined as an input to the package.
> >>
> >> Second, setting plugindir at build-time is just asking for the same
> >kind
> >> of issues you are trying to fix, only for finding another plugin that
> >might
> >> be needed.
> >>
> >> Third, the way you modify the arguments is… unconventional :) try
> >using
> >> substitute-keyword-arguments instead. There are plenty of examples in
> >the
> >> repo.
> >>
> >> I remember having dealt with this issue before, and pushed a patch
> >some 3
> >> years ago: http://issues.guix.gnu.org/31239
> >>
> >> Could you look at what happened in the meantime? I think it was
> >reverted
> >> in favor of the asound.conf file we have in the guix system now. You
> >might
> >> learn something if you find the reason why it was changed.
> >>
> >> Re my other projects, framagit is going to close next year, so I'll
> >be
> >> migrating to my own hosting, currently at git.lepiller.eu.
> >>
> >> Ok for the cultural difference. It's probably too soon to call me a
> >> "senior" though, I'm still pretty young: only 3 years older than you
> >:p
> >>
> >> Le 26 septembre 2020 16:46:50 GMT-04:00, Prafulla Giri <
> >> [email-masked]> a écrit :
> >>>
> >>> Oh, I come from a culture that does not call seniors by their first
> >>> names. (:
> >>> Yes! guix-android looks super awesome! I'm glad that you are working
> >on
> >>> that. You're awesome.
> >>> (Also, I just realized that you've also got guix-home-manager and so
> >many
> >>> more cool repositories! I need to check those out, and soon!)
> >>>
> >>> I did manage to resolve this issue. Kinda'. Here:
> >>>
> >
> https://github.com/peanutbutterandcrackers/guix-packages/blob/master/aegisub.scm
> >>>
> >>> All I had to do was re-define 'alsa-lib' to point to the /gnu/store
> >path
> >>> of alsa-plugins. The /gnu/store path had to be figured out during
> >runtime.
> >>>
> >>> Could you please check how this fares in a GuixSD system? If it goes
> >>> well, perhaps I should send a patch in for aegisub. But then again,
> >I
> >>> wonder if I should make the changes in alsa-lib itself, but I am not
> >very
> >>> sure about that.
> >>>
> >>> On Sat, Sep 26, 2020 at 8:20 PM Julien Lepiller <[email-masked]>
> >>> wrote:
> >>>
> >>>> Hehe, thanks for your interest in guix-android. It's not really
> >done
> >>>> yet, but I'm very motivated :). It always feels weird when someone
> >on the
> >>>> internet calls you Mr ^^. No need to be so stiff, you can call me
> >"Julien"
> >>>> (and I suppose it's the norm to call people by their first name in
> >this
> >>>> kind of internet community).
> >>>>
> >>>> Maybe try to run aegisub with strace -f, you might find out
> >something.
> >>>> You may have to take a look at alsa's sources to find out how it
> >looks for
> >>>> its plugins exactly (maybe try to grep for PLUGIN or PLUGINDIR)?
> >>>>
> >>>> Le 26 septembre 2020 08:07:34 GMT-04:00, Prafulla Giri <
> >>>> [email-masked]> a écrit :
> >>>>>
> >>>>> Okay, I think I'm stuck now. lol
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Sat, Sep 26, 2020 at 3:42 PM Prafulla Giri <
> >>>>> [email-masked]> wrote:
> >>>>>
> >>>>>> Hello Mr. Lepiller,
> >>>>>>
> >>>>>> Thank you for the tip. For the moment, I want to poke around this
> >>>>>> issue. Perhaps I get absolutely tired of it (or find a good hack
> >- and an
> >>>>>> ugly patch). I did manage to learn a bit more about union-builds
> >in
> >>>>>> general. So, that's a silver lining.
> >>>>>>
> >>>>>> Also, your work on guix-android seems so very cool! Please keep
> >up the
> >>>>>> great work!
> >>>>>>
> >>>>>> On Sat, Sep 26, 2020 at 3:28 PM Julien Lepiller
> ><[email-masked]>
> >>>>>> wrote:
> >>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> Hi Prafulla,
> >>>>>>>
> >>>>>>> Le 26 septembre 2020 03:31:38 GMT-04:00, Prafulla Giri <
> >>>>>>> [email-masked]> a écrit :
> >>>>>>> >Another information:
> >>>>>>> >
> >>>>>>> >I have other programs on my foreign system (installed via guix)
> >that
> >>>>>>> >produce sound well, without any issues. They include:
> >>>>>>> >espeak and kdenlive.
> >>>>>>> >
> >>>>>>> >Also, I did try making the union-build use copies instead of
> >symlinks
> >>>>>>> >using
> >>>>>>> >(union-build ... #:symlink copy-recursively) but that didn't
> >work out
> >>>>>>> >either.
> >>>>>>> >
> >>>>>>> >Now, I'm going to take a look at fixing the pkg-config rules,
> >and
> >>>>>>> will
> >>>>>>> >be
> >>>>>>> >updating this thread should that resolve this issue.
> >>>>>>> >
> >>>>>>> >On Sat, Sep 26, 2020 at 12:21 PM Prafulla Giri
> >>>>>>> ><[email-masked]>
> >>>>>>> >wrote:
> >>>>>>> >
> >>>>>>> >> I forgot to mention, but the union-build works. If one `guix
> >>>>>>> build`s
> >>>>>>> >the
> >>>>>>> >> union package, and cd into the /gnu/store/...-union-build,
> >one will
> >>>>>>> >see
> >>>>>>> >> that things are there as it should be (lib/normal-alsa-*.so
> >and
> >>>>>>> >> lib/alsa-lib/*pulse*.so).
> >>>>>>> >>
> >>>>>>> >> It's just that aegisub seems to be looking from the
> >>>>>>> >> /gnu/store/normal-alsa-lib-dir instead of
> >>>>>>> >/gnu/store/union-alsa-package.
> >>>>>>> >>
> >>>>>>>
> >>>>>>> I think the issue with the union-build is that it is completely
> >>>>>>> ignored: alsa doesn't look in it's current directory for
> >plugins, but in
> >>>>>>> the directory where it's been configured (at build time) to look
> >for.
> >>>>>>>
> >>>>>>> On the Guix System, there is a service that creates a
> >>>>>>> /etc/asound.conf, which references alsa-plugins:pulseaudio.
> >Maybe you
> >>>>>>> actually want to configure that? Maybe try to copy this to a new
> >file
> >>>>>>> .asoundrc:
> >>>>>>>
> >>>>>>> pcm_type.pule {
> >>>>>>>   lib
> >>>>>>>
> >"/home/foo/.guix-profile/lib/alsa-lib/libasound_module_pcm_pulse.so"
> >>>>>>> }
> >>>>>>>
> >>>>>>> ctl_type.pulse {
> >>>>>>>
> >>>>>>>
> >lib"/home/foo/.guix-profile/lib/alsa-lib/libasound_module_ctl_pulse.so"
> >>>>>>> }
> >>>>>>>
> >>>>>>> pcm.!default {
> >>>>>>>   type pulse
> >>>>>>> }
> >>>>>>>
> >>>>>>> ctl.!default {
> >>>>>>>   type pulse
> >>>>>>> }
> >>>>>>>
> >>>>>>
>