kanriapp / kanri

🪐 Modern offline Kanban board app for Windows, MacOS and Linux. Built with simplicity and user experience in mind.
https://kanriapp.com
GNU General Public License v3.0
745 stars 61 forks source link

GLIBC_2.32/33/34 Not Found #688

Closed lordofscripts closed 1 week ago

lordofscripts commented 4 weeks ago

Describe the bug I was very excited to have this Kanban on my Linux desktop (Raspberry π). The installation of the Debian package for m architecture went without issues. I repeat, sudo at install kanri did not produce any warnings or errors.

First tried with the application menu shortcut, nothing happened. So, I tried launching from a terminal window. This is what I got:

kanri: /lib/arm-linux-gnueabhf/libc.so.6: version "GLIBC_2.32" not found (required by kanri)
kanri: /lib/arm-linux-gnueabhf/libc.so.6: version "GLIBC_2.33" not found (required by kanri)
kanri: /lib/arm-linux-gnueabhf/libc.so.6: version "GLIBC_2.34" not found (required by kanri)

To Reproduce Steps to reproduce the behavior:

  1. Installed kanri v0.7.1 ARMHF Debian ackage.
  2. Executed kanri on the command line
  3. See error

Expected behavior The application should launch.

Desktop (please complete the following information):

Additional context

I ran the following command ldd --version and it outputted:

ldd (Debian GLIBC 2.31-13+rpi1+deb11u11) 2.31
trobonox commented 3 weeks ago

Thanks for reporting this issue.

I believe this is because Kanri is built on Ubuntu 22.04 (using GitHub Actions) and this version of Ubuntu uses GLIBC 2.34. As far as I know, the solution to this would be for me to downgrade the app builds to run on Ubuntu 20.04 which uses GLIBC 2.31, which is exactly the version you have. Previously, this did not work and I ran into some issues, but I can experiment with this and see if it's doable.

Unfortunately, for the next few weeks I will be busy with personal matters so I don't have time to work on this, but I will let you know if there's any updates.

lordofscripts commented 3 weeks ago

Thanks for reporting this issue.

I believe this is because Kanri is built on Ubuntu 22.04 (using GitHub Actions) and this version of Ubuntu uses GLIBC 2.34. As far as I know, the solution to this >

I found a post on Internet that appears promising.

So, I followed his instructions, downloaded GLIBC 2.32 (as kanri looks for either of 2.32, 2.33 or 2.34). Then I compiled it, which took a long time on my Raspberry. Afterwards I did a make install on a local directory.

In that local directory $HOME/glibc2.32/ I find the new version with its bin, etc, lib, libexec, sbin, share & locale subdirectories with their files.

The thing now is that the post doesn't mention how now, —with 2.31 in the system and 2.32 in a local tree,— I can run kanri.

In other words, now that I have 2.32 in a separate tree than the system's version, how do I tell kanri to use my compiled 2.32 version?

UPDATE #1: I created this script kanri.sh:

#!/usr/bin/bash
export LD_LIBRARY_PATH=$HOME/glibc/glibc-2.32-install
$LD_LIBRARY_PATH/lib/ld-linux-armhf.so.3 /use/bin/kanri

And when I run it to use the 2.32 local version, I get this error:

/usr/bin/kanri/: error while loading shared libraries: libwebkit2gtk-4.0.so.37: cannot open shared object file: No such file or directory. 

UPDATE #2:

That libwebkit2gtk-4.0.so.37 is already installed in /usr/lib/arm-linux-gnueabihf/

UPDATE #3:

Added a soft link from the local 2.32 library directory to the actual libwebkit2gtk library installed in the system. That solved the error regarding libwebkit2gtk. Unfortunately then it complained about another, and so on. After adding 20 soft links I desisted... 😵‍💫

trobonox commented 3 weeks ago

Thanks for sharing your experience, very interesting insights. In the end I think your problem can only be solved by building Kanri on a system with compatible libraries (glibc, libwebkit2gtk, etc.). If you want to try this yourself, you can follow the steps outlined in the readme: https://github.com/kanriapp/kanri?tab=readme-ov-file#-contributing--build-setup Otherwise, you'll have to wait and see whether I manage to automate this process through GitHub Actions

trobonox commented 2 weeks ago

Update: Kanri v0.8 is out now and it is being built on Ubuntu 20.04. This should ship an earlier version of glibc and improve compatibility. Try installing Kanri now, your issue should be fixed if everything worked.

lordofscripts commented 1 week ago

Update: Kanri v0.8 is out now and it is being built on Ubuntu 20.04. This should ship an earlier version of glibc and improve compatibility. Try installing Kanri now, your issue should be fixed if everything worked.

AWESOME!!! Thanks a million! Now it runs on my Armhf Raspberry π 2B. So far I have been using a discontinued browser-based version which works fine as long as I don't clear the browser cache.

But KanriApp is awesome! I am now recreating my old Kanban using your app.

trobonox commented 1 week ago

Great, I'm glad this fixed your problem!

In that case, I'll be marking this issue as solved. If there's anything else, feel free to open another issue (or reopen this one if it's related to this problem).