Building Chatty: worse libhandy version

Hello everyone,

Waiting for my Librem 5, I would like to test the Chatty app. So I’m trying to build it on my Debian Buster laptop.

I’ve successfully built purple-mm-sms, carbons and lurch plugins. I had difficulties with libhandy (I didn’t see the purism gitlab repo was outdated) so I’ve first installed a wrong libhandy version: 0.80.0.
But finally found the right version of libhandy and then the build of Chatty seemed to be successfull but when I launched it:

+ exec /home/****/Documents/Programmation/Chatty-build/chatty/build/src/chatty
14:18:36.9722                  Gtk[11008]:CRITICAL: Error building template class 'ChattyWindow' for an instance of type 'ChattyWindow': .:394:1 Invalid object type 'HdyStatusPage'
14:18:36.9723         GLib-GObject[11008]: WARNING: invalid (NULL) pointer instance
14:18:36.9723         GLib-GObject[11008]:CRITICAL: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
14:18:37.0559                Handy[11008]:CRITICAL: hdy_leaflet_set_visible_child_name: assertion 'HDY_IS_LEAFLET (self)' failed
14:18:37.0559                  Gtk[11008]:CRITICAL: gtk_list_box_bind_model: assertion 'GTK_IS_LIST_BOX (box)' failed
14:18:37.0559                  Gtk[11008]:CRITICAL: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
14:18:37.0559                  Gtk[11008]:CRITICAL: gtk_list_box_get_selection_mode: assertion 'GTK_IS_LIST_BOX (box)' failed
14:18:37.0559                  Gtk[11008]:CRITICAL: gtk_widget_set_sensitive: assertion 'GTK_IS_WIDGET (widget)' failed
14:18:37.0560                  Gtk[11008]:CRITICAL: gtk_stack_set_visible_child: assertion 'GTK_IS_STACK (stack)' failed
14:18:37.0560                Handy[11008]:CRITICAL: hdy_search_bar_set_search_mode: assertion 'HDY_IS_SEARCH_BAR (self)' failed
/home/****/Documents/Programmation/Chatty-build/chatty/build/src/chatty: relocation error: /home/****/Documents/Programmation/Chatty-build/chatty/build/src/chatty: symbol hdy_status_page_get_type version LIBHANDY_1_0 not defined in file libhandy-1.so.0 with link time reference

Thanks for your help

Seems like HdyStatusPage is avaliable since libhandy 1.2 (https://gnome.pages.gitlab.gnome.org/libhandy/doc/1.2/HdyStatusPage.html)

Do you have the developpement package for libhandy 1.2 ?

Hello,
I have built libhandy from this git: https://gitlab.gnome.org/GNOME/libhandy/

And according to the meson logs:
Dependency libhandy-1 found: YES 1.2.2

I’m not a big fan of meson, so I can’t really guide you here but, seems to me it has access to the recent library file but not the headers where the libhandy types (like HdyStatusPage) are declared, it may be using the older version if you still have the 0.8 installed

1 Like

You can use the command ldd to check out what librarys are usesd for some binary Programs.

You need the full path. not

$ ldd cat ldd: ./cat: File or Directory not found

$ which cat
/usr/bin/cat
$ ldd /usr/bin/cat
        linux-vdso.so.1 (0x00007ffe1b3a6000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f9da730c000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9da7516000)

With ldd you can check what library’s are linked. And you need to rebuild it. Maybe you did not update your Environment before compiling.

Forgot: You will not see the Version Number directly like libc.so.6
When you check the Link you will see it:

$  ls -la /lib64/libc.so.6 
lrwxrwxrwx 1 root root 12  7. Mär 20:57 /lib64/libc.so.6 -> libc-2.32.so

Edit:
By the Way the last Line of your post show the issue, snipped:

symbol hdy_status_page_get_type version LIBHANDY_1_0 not defined in file libhandy-1.so.0 with link time reference

Edit 3:
You have to check the timesstamp too cause libhandy 1.0 and 1.2 use the same major Version Link (on my System). So libhandy 1.0 is not necessary Version 1.0.

Hello,

I deleted existing libhandy installed files and it’s _build directory, then I’ve rebuilt it. Now Chatty launches and I can test XMPP !

Unfortunately, it can’t send OMEMO encrypted messages, it’s a bit of a pity but not catastrophic as I’m just testing how chatty is (and will be when I’ll receive my L5)

Good!
You can try to use gajim it works well on gnome Desktop systems with a plugin for OMEMO. I had just take care of the right python Version for (Plugin) Modules Version. Like at the step from Python 3.6 to python 3.9. But i work like a charme. So we will need just Omemo Support for it, however i hope it will be native in Chatty too.

Still have no Librem5 by myself. Have month to wait…

Thanks !
I know Gajim, on my desktop I’m using Dino as XMPP client, it looks fine and is implementing audio/video calls compatible with Conversations.
As I expect XMPP to become my main digital communication tool with friends (at this purpose I’ve setup my own ejabberd server at home); I’m asking myself about which client I will use on the L5: is Chatty ready ? For now, Jingle calls are not yet implemented (confer SIP Dialer for Librem 5) I hope they will be in the future (it would be logical), or if I should during a moment use instead Dino (which fits well on L5) or even Converations thanks to anbox

My first impressions after few minutes testing:

  • The interface is simple and clear, looks like a classic SMS app
  • OMEMO not working (actually, it doesn’t recognize recipient’s fingerprint but recognize the other fingerprints of the same account, I hope it’s just a build error)
  • Sends typing notifications but not receive them, no read notifications
  • I don’t see how to upload a file

Just one month ? Good it will be soon ! Mine is supposed to be shipped during summer.

1 Like

I missed the Blog post (the-ball-and-supply-chain) about the delay on CPUs and it looks i have to wait likly to October or Noveber 2021 now. Hope there will not be another shortage in different Parts too.

Thank you for mention Dino, hope that Chatty will support OMEMO encryption in future too!

Hello,
Yes I saw this post a few time after posting mine. It becomes an habit; when I preordered my L5 end of January 2019 (just a couple of days before price increasing) it was supposed to be released in April of the same year ! Everyone around me tells me I’ve been ripped off.

I was supposed to get it this summer but now I’m sure it won’t be until next year. I really don’t want to keep a full proprietary phone device all this time so I’ve bought a Pinephone today. I will get a look to preinstalled Manjaro but I will probably install Mobian as I’m a Debian user for years (and it uses a lot of Purism software). When I’ll finally get the L5, I’ll probably resell it or maybe give to a friend (If I find one who can be satisfied with a phone unsuitable for selfies and not very fast.

Wow I’ve just relaunched Chatty on my laptop and now looks like OMEMO is working well ! Certainly a little configuration error.

1 Like