gkdr / lurch

XEP-0384: OMEMO Encryption for libpurple.
GNU General Public License v3.0
289 stars 32 forks source link

lurch no longer showing up in pidgin plugin list? Pidgin 2.14.9 #179

Closed Jieiku closed 2 years ago

Jieiku commented 2 years ago

lurch no longer showing up in pidgin plugin list?

might have been caused by recent software update, I am running Manjaro KDE minimal LTS

pidgin help shows: Pidgin 2.14.9 (libpurple 2.14.9) f729a2939e033edbbe1c59f038f6f59749aca68a

I can still see the file: ~/.purple/plugins/lurch.so but for some reason no longer in the plugin list.

This issue was brought to my attention because just recently I quit receiving messages from other people.

gkdr commented 2 years ago

hi @Jieiku and thanks for the report! i have in fact not checked against newer versions of pidgin, let me see if i can reproduce the issue. in the meantime, could you open the debug window and only then open the plugin list and paste the result of the "probing" here? and what's the source for the plugin, did you compile it yourself?

Jieiku commented 2 years ago

Thank You Sooooooo much for the reply. I have been without my messenger on my desktop for a while now, have been using conversations on my phone only since this happened.

Yes, I compiled it myself from github:

sudo pacman -S --needed base-devel git cmake pidgin libpurple mxml libxml2 sqlite libgcrypt
sudo pacman -S pidgin
cd ~/.installs
git clone https://github.com/gkdr/lurch
cd lurch
git submodule update --init --recursive
make install-home
sudo reboot

This install was working for a few months and then a new batch of updates came down on one of my recent Manjaro system updates.

Here is the debug log of opening the Debug Window first, and then opening the plugin list window:

(14:08:27) prefs: /pidgin/debug/height changed, scheduling save.
(14:08:28) prefs: /pidgin/debug/width changed, scheduling save.
(14:08:28) prefs: /pidgin/debug/height changed, scheduling save.
(14:08:29) prefs: /pidgin/debug/width changed, scheduling save.
(14:08:29) prefs: /pidgin/debug/height changed, scheduling save.
(14:08:33) util: Writing file prefs.xml to directory /home/jieiku/.purple
(14:08:33) util: Writing file /home/jieiku/.purple/prefs.xml
(14:08:44) plugins: probing /home/jieiku/.purple/plugins/lurch.so
(14:08:44) plugins: /home/jieiku/.purple/plugins/lurch.so is not loadable: libicui18n.so.70: cannot open shared object file: No such file or directory
(14:08:44) plugins: probing /usr/lib/pidgin/ticker.so
(14:08:44) plugins: probing /usr/lib/pidgin/xmppdisco.so
(14:08:44) plugins: probing /usr/lib/pidgin/gtkbuddynote.so
(14:08:44) plugins: probing /usr/lib/pidgin/gestures.so
(14:08:44) plugins: probing /usr/lib/pidgin/spellchk.so
(14:08:44) plugins: probing /usr/lib/pidgin/convcolors.so
(14:08:44) plugins: probing /usr/lib/pidgin/timestamp_format.so
(14:08:44) plugins: probing /usr/lib/pidgin/themeedit.so
(14:08:44) plugins: probing /usr/lib/pidgin/pidginrc.so
(14:08:44) plugins: probing /usr/lib/pidgin/relnot.so
(14:08:44) plugins: probing /usr/lib/pidgin/vvconfig.so
(14:08:44) plugins: probing /usr/lib/pidgin/history.so
(14:08:44) plugins: probing /usr/lib/pidgin/markerline.so
(14:08:44) plugins: probing /usr/lib/pidgin/xmppconsole.so
(14:08:44) plugins: probing /usr/lib/pidgin/sendbutton.so
(14:08:44) plugins: probing /usr/lib/pidgin/musicmessaging.so
(14:08:44) plugins: probing /usr/lib/pidgin/notify.so
(14:08:44) plugins: probing /usr/lib/pidgin/timestamp.so
(14:08:44) plugins: probing /usr/lib/pidgin/extplacement.so
(14:08:44) plugins: probing /usr/lib/pidgin/iconaway.so
(14:08:44) plugins: probing /usr/lib/pidgin/transparency.so
(14:08:44) plugins: probing /usr/lib/purple-2/libbonjour.so
(14:08:44) plugins: probing /usr/lib/purple-2/libzephyr.so
(14:08:44) plugins: probing /usr/lib/purple-2/libnovell.so
(14:08:44) plugins: probing /usr/lib/purple-2/libgg.so
(14:08:44) plugins: probing /usr/lib/purple-2/idle.so
(14:08:44) plugins: probing /usr/lib/purple-2/psychic.so
(14:08:44) plugins: probing /usr/lib/purple-2/newline.so
(14:08:44) plugins: probing /usr/lib/purple-2/ssl.so
(14:08:44) plugins: probing /usr/lib/purple-2/offlinemsg.so
(14:08:44) plugins: probing /usr/lib/purple-2/buddynote.so
(14:08:44) plugins: probing /usr/lib/purple-2/dbus-example.so
(14:08:44) plugins: probing /usr/lib/purple-2/autoaccept.so
(14:08:44) plugins: probing /usr/lib/purple-2/libirc.so
(14:08:44) plugins: probing /usr/lib/purple-2/ssl-nss.so
(14:08:44) plugins: probing /usr/lib/purple-2/perl.so
(14:08:44) plugins: probing /usr/lib/purple-2/joinpart.so
(14:08:44) plugins: probing /usr/lib/purple-2/libjabber.so
(14:08:44) plugins: /usr/lib/purple-2/libjabber.so is not usable because the 'purple_init_plugin' symbol could not be found.  Does the plugin call the PURPLE_INIT_PLUGIN() macro?
(14:08:44) plugins: probing /usr/lib/purple-2/statenotify.so
(14:08:44) plugins: probing /usr/lib/purple-2/libxmpp.so
(14:08:44) plugins: probing /usr/lib/purple-2/log_reader.so
(14:08:44) plugins: probing /usr/lib/purple-2/libsimple.so
(14:08:44) plugins: probing /usr/lib/purple-2/tcl.so
(14:08:44) plugins: /usr/lib/purple-2/tcl.so is not loadable: libtk8.6.so: cannot open shared object file: No such file or directory
(14:08:44) plugins: probing /usr/lib/purple-2/nss-prefs.so
Jieiku commented 2 years ago

With this new information I see the first error is a missing file.

I tested installing it and it seems I have icu-71 installed, so I would either need to find a way to get 70 installed or lurch would have to use 71?:

libicui18n.so.70:

sudo pacman -S icu
warning: icu-71.1-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) icu-71.1-1

Total Installed Size:  39.73 MiB
Net Upgrade Size:       0.00 MiB

:: Proceed with installation? [Y/n]

sudo find / -type f -iname "*libicui18n.so*"
/usr/lib32/libicui18n.so.71.1
/usr/lib/libicui18n.so.71.1

libtk8.6.so:

sudo pacman -S tk
resolving dependencies...
looking for conflicting packages...

Packages (1) tk-8.6.12-1

Total Download Size:   1.88 MiB
Total Installed Size:  4.79 MiB

:: Proceed with installation? [Y/n]

sudo find / -type f -iname "*libtk*"
/usr/lib/libreoffice/program/libtklo.so
selurvedu commented 2 years ago

Just recompile the plugin and replace the old lurch.so with the new one (or simply run make install-home again). During recompilation it will get linked against the fresh ICU library that got installed with the system update.

You will need to recompile it after every major update of ICU (i.e. 70.x -> 71.x is major, but 71.0 -> 71.1 is not).

Tk is not required for lurch. Purple Tcl plugin wants it, but you won't need it if you never used it.

BTW, you don't need to reboot after installing the plugin into your home directory. Simply restarting Pidgin will do.


While I'm here, FYI, reboots are rarely needed on a GNU/Linux system, unless the system performance is unstable/buggy or if you updated the kernel or the init/system manager (sysvinit/upstart/runit/systemd, in case of Manjaro it's the latter one). For most other stuff, simply restarting the updated program – or logging out and in if there was a plenty of updates – is enough. You may also want to reboot after updating background system services, or you can restart them manually instead, except for display managers (LightDM/GDM/KDM/SLiM/etc.), since restarting them will kill your user session and you will lose your work (unless you logged out beforehand).

selurvedu commented 2 years ago

Also, why don't you switch to the Arch/Manjaro package? It will get installed into your system instead of the home directory, it will get updated automatically and you won't need to recompile it after each major ICU update.

Simply run sudo pacman -S libpurple-lurch and remove lurch.so from ~/.purple/plugins/ to prevent two copies of the plugin from interfering.

Installing libpurple-carbons is (very) recommended too if you don't already have it. Unfortunately, it's not in the repos, but there's an AUR package.

Jieiku commented 2 years ago

Awesome, thanks @selurvedu will install the Manjaro package now. I recently switched from Ubuntu to Manjaro, previously I had been using Ubuntu for over 10 years, so I am still getting used to some things.

Your advice did infact fix it!

selurvedu commented 2 years ago

Glad I could help. Have a nice day. :)

Jieiku commented 2 years ago

You too, thanks a ton!

gkdr commented 2 years ago

thanks @selurvedu, your post was very informative for me too! glad it worked for you, @Jieiku!