GNU bug report logs - #40408
emacs-telega: VoIP doesn't work

Previous Next

Package: guix;

Reported by: Diego Nicola Barbato <dnbarbato <at> posteo.de>

Date: Fri, 3 Apr 2020 16:13:01 UTC

Severity: normal

Done: Brett Gilio <brettg <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40408 in the body.
You can then email your comments to 40408 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#40408; Package guix. (Fri, 03 Apr 2020 16:13:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Diego Nicola Barbato <dnbarbato <at> posteo.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 03 Apr 2020 16:13:05 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: bug-guix <at> gnu.org
Subject: emacs-telega: VoIP doesn't work
Date: Fri, 03 Apr 2020 18:12:16 +0200
Hey Guix,

In Telega neither initiating nor accepting a voice call works:

If I call someone (who has the Telegram App) they can accept the call,
but the app gets stuck connecting.  If either I or the other party hang
up I get a bunch of assertion failures.

If the other party tries to call me I can accept the call, but again
their app gets stuck connecting.  Hanging up has the same effect as
before.

Both actions leave Telega in a broken state (e.g. assertion failures
when I try to enter a chat) and it has to be restarted.

The following error messages in .telega/telega-voip.log seem relevant:

--8<---------------cut here---------------start------------->8---
04-01 20:04:04 E: Error loading libpulse: (null)
04-01 20:04:04 E: Error loading libasound: (null)
04-01 20:04:04 E: Error loading libasound: (null)
04-01 20:04:04 E: Error initializing audio playback
--8<---------------cut here---------------end--------------->8---

I'm currently on commit 151f3d4.

Regards,

Diego




Information forwarded to bug-guix <at> gnu.org:
bug#40408; Package guix. (Fri, 03 Apr 2020 16:31:02 GMT) Full text and rfc822 format available.

Message #8 received at 40408 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 40408 <at> debbugs.gnu.org
Subject: Re: bug#40408: emacs-telega: VoIP doesn't work
Date: Fri, 3 Apr 2020 12:30:02 -0400
On Fri, Apr 03, 2020 at 06:12:16PM +0200, Diego Nicola Barbato wrote:
> The following error messages in .telega/telega-voip.log seem relevant:
> 
> --8<---------------cut here---------------start------------->8---
> 04-01 20:04:04 E: Error loading libpulse: (null)
> 04-01 20:04:04 E: Error loading libasound: (null)
> 04-01 20:04:04 E: Error loading libasound: (null)
> 04-01 20:04:04 E: Error initializing audio playback
> --8<---------------cut here---------------end--------------->8---

I'd guess those libraries should be dependencies of this package. I
would move it to the telephony module as well.




Information forwarded to bug-guix <at> gnu.org:
bug#40408; Package guix. (Wed, 08 Apr 2020 12:56:02 GMT) Full text and rfc822 format available.

Message #11 received at 40408 <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: Leo Famulari <leo <at> famulari.name>
Cc: 40408 <at> debbugs.gnu.org
Subject: Re: bug#40408: emacs-telega: VoIP doesn't work
Date: Wed, 08 Apr 2020 14:55:05 +0200
[Message part 1 (text/plain, inline)]
Hi,

Leo Famulari <leo <at> famulari.name> writes:

> On Fri, Apr 03, 2020 at 06:12:16PM +0200, Diego Nicola Barbato wrote:
>> The following error messages in .telega/telega-voip.log seem relevant:
>> 
>> --8<---------------cut here---------------start------------->8---
>> 04-01 20:04:04 E: Error loading libpulse: (null)
>> 04-01 20:04:04 E: Error loading libasound: (null)
>> 04-01 20:04:04 E: Error loading libasound: (null)
>> 04-01 20:04:04 E: Error initializing audio playback
>> --8<---------------cut here---------------end--------------->8---
>
> I'd guess those libraries should be dependencies of this package. I
> would move it to the telephony module as well.

Turns out the libraries are dependencies of libtgvoip.  It tries to
dlopen them, but doesn't find them.  I've attached a patch to fix that.
Unfortunately VoIP still doesn't work in Telega (it still fails in the
same way as before, except that there are no more error messages in
.telega/telega-voip.log).  It looks like that's a separate, unrelated
issue.

Regards,

Diego

[0001-gnu-libtgvoip-Fix-loading-of-shared-libraries.patch (text/x-patch, inline)]
From f63cf832869bee91f3f6e87c076bd1e39d32c285 Mon Sep 17 00:00:00 2001
From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Date: Sat, 4 Apr 2020 19:36:31 +0200
Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.

Fixes <https://debbugs.gnu.org/40408>.

* gnu/packages/telephony.scm (libtgvoip)[arguments]<#:phases>[patch-dlopen]:
  New phase.
---
 gnu/packages/telephony.scm | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index f64cdd3fb2..f73efb0deb 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -1046,6 +1046,23 @@ This package provides the Jami client for the GNOME desktop.")
        ("libopusenc" ,libopusenc)
        ("openssl" ,openssl)
        ("pulseaudio" ,pulseaudio)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; libtgvoip wants to dlopen libpulse and libasound, so tell it where
+         ;; they are.
+         (add-after 'unpack 'patch-dlopen
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "os/linux/AudioPulse.cpp"
+               (("libpulse\\.so")
+                (string-append (assoc-ref inputs "pulseaudio")
+                              "/lib/libpulse.so")))
+             (substitute* '("os/linux/AudioInputALSA.cpp"
+                            "os/linux/AudioOutputALSA.cpp")
+               (("libasound\\.so")
+                (string-append (assoc-ref inputs "alsa-lib")
+                               "/lib/libasound.so")))
+             #t)))))
     (synopsis "VoIP library for Telegram clients")
     (description "A collection of libraries and header files for implementing
 telephony functionality into custom Telegram clients.")
-- 
2.26.0


Information forwarded to bug-guix <at> gnu.org:
bug#40408; Package guix. (Sat, 08 Aug 2020 02:10:02 GMT) Full text and rfc822 format available.

Message #14 received at 40408 <at> debbugs.gnu.org (full text, mbox):

From: Brett Gilio <brettg <at> gnu.org>
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 40408 <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#40408: emacs-telega: VoIP doesn't work
Date: Fri, 07 Aug 2020 21:09:54 -0500
Diego Nicola Barbato <dnbarbato <at> posteo.de> writes:

> Hi,
>
> Leo Famulari <leo <at> famulari.name> writes:
>
>> On Fri, Apr 03, 2020 at 06:12:16PM +0200, Diego Nicola Barbato wrote:
>>> The following error messages in .telega/telega-voip.log seem relevant:
>>> 
>>> --8<---------------cut here---------------start------------->8---
>>> 04-01 20:04:04 E: Error loading libpulse: (null)
>>> 04-01 20:04:04 E: Error loading libasound: (null)
>>> 04-01 20:04:04 E: Error loading libasound: (null)
>>> 04-01 20:04:04 E: Error initializing audio playback
>>> --8<---------------cut here---------------end--------------->8---
>>
>> I'd guess those libraries should be dependencies of this package. I
>> would move it to the telephony module as well.
>
> Turns out the libraries are dependencies of libtgvoip.  It tries to
> dlopen them, but doesn't find them.  I've attached a patch to fix that.
> Unfortunately VoIP still doesn't work in Telega (it still fails in the
> same way as before, except that there are no more error messages in
> .telega/telega-voip.log).  It looks like that's a separate, unrelated
> issue.
>
> Regards,
>
> Diego
>
>>From f63cf832869bee91f3f6e87c076bd1e39d32c285 Mon Sep 17 00:00:00 2001
> From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
> Date: Sat, 4 Apr 2020 19:36:31 +0200
> Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.
>
> Fixes <https://debbugs.gnu.org/40408>.
>
> * gnu/packages/telephony.scm (libtgvoip)[arguments]<#:phases>[patch-dlopen]:
>   New phase.
> ---
>  gnu/packages/telephony.scm | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
> index f64cdd3fb2..f73efb0deb 100644
> --- a/gnu/packages/telephony.scm
> +++ b/gnu/packages/telephony.scm
> @@ -1046,6 +1046,23 @@ This package provides the Jami client for the GNOME desktop.")
>         ("libopusenc" ,libopusenc)
>         ("openssl" ,openssl)
>         ("pulseaudio" ,pulseaudio)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         ;; libtgvoip wants to dlopen libpulse and libasound, so tell it where
> +         ;; they are.
> +         (add-after 'unpack 'patch-dlopen
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "os/linux/AudioPulse.cpp"
> +               (("libpulse\\.so")
> +                (string-append (assoc-ref inputs "pulseaudio")
> +                              "/lib/libpulse.so")))
> +             (substitute* '("os/linux/AudioInputALSA.cpp"
> +                            "os/linux/AudioOutputALSA.cpp")
> +               (("libasound\\.so")
> +                (string-append (assoc-ref inputs "alsa-lib")
> +                               "/lib/libasound.so")))
> +             #t)))))
>      (synopsis "VoIP library for Telegram clients")
>      (description "A collection of libraries and header files for implementing
>  telephony functionality into custom Telegram clients.")


Hi all,

I apologize for the late response to this message. When it was sent I
was on haitus.

I am a co-maintainer for emacs-telega upstream along with Evgeny
Zajcev. Currently the functionality for VoIP is broken, and has been
disabled in the emacs-telega package for the time being. However, I
believe you have patched a bug with the libtgvoip package that caused
erroneous linkage to the system libraries on foreign distributions
causing a runtime issue with the telega server. So, I will investigate
your patch, and apply it so that when the time comes and VoIP
functionality is re-enabled we can prevent this issue!

Thank you,

I will forward this along to Evgeny as well.

Brett Gilio




Reply sent to Brett Gilio <brettg <at> gnu.org>:
You have taken responsibility. (Sat, 08 Aug 2020 02:16:01 GMT) Full text and rfc822 format available.

Notification sent to Diego Nicola Barbato <dnbarbato <at> posteo.de>:
bug acknowledged by developer. (Sat, 08 Aug 2020 02:16:02 GMT) Full text and rfc822 format available.

Message #19 received at 40408-close <at> debbugs.gnu.org (full text, mbox):

From: Brett Gilio <brettg <at> gnu.org>
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 40408-close <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#40408: emacs-telega: VoIP doesn't work
Date: Fri, 07 Aug 2020 21:15:21 -0500
Diego Nicola Barbato <dnbarbato <at> posteo.de> writes:

>
>>From f63cf832869bee91f3f6e87c076bd1e39d32c285 Mon Sep 17 00:00:00 2001
> From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
> Date: Sat, 4 Apr 2020 19:36:31 +0200
> Subject: [PATCH] gnu: libtgvoip: Fix loading of shared libraries.
>
> Fixes <https://debbugs.gnu.org/40408>.
>
> * gnu/packages/telephony.scm (libtgvoip)[arguments]<#:phases>[patch-dlopen]:
>   New phase.
> ---
>  gnu/packages/telephony.scm | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
> index f64cdd3fb2..f73efb0deb 100644
> --- a/gnu/packages/telephony.scm
> +++ b/gnu/packages/telephony.scm
> @@ -1046,6 +1046,23 @@ This package provides the Jami client for the GNOME desktop.")
>         ("libopusenc" ,libopusenc)
>         ("openssl" ,openssl)
>         ("pulseaudio" ,pulseaudio)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         ;; libtgvoip wants to dlopen libpulse and libasound, so tell it where
> +         ;; they are.
> +         (add-after 'unpack 'patch-dlopen
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (substitute* "os/linux/AudioPulse.cpp"
> +               (("libpulse\\.so")
> +                (string-append (assoc-ref inputs "pulseaudio")
> +                              "/lib/libpulse.so")))
> +             (substitute* '("os/linux/AudioInputALSA.cpp"
> +                            "os/linux/AudioOutputALSA.cpp")
> +               (("libasound\\.so")
> +                (string-append (assoc-ref inputs "alsa-lib")
> +                               "/lib/libasound.so")))
> +             #t)))))
>      (synopsis "VoIP library for Telegram clients")
>      (description "A collection of libraries and header files for implementing
>  telephony functionality into custom Telegram clients.")

This patch was applied in 580414376b03f2430050f8b5405631f4d7e7e8e3. Closing.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 05 Sep 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 206 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.