thindil/hunter

AppImage for hunter version 1.3 fails to run under Ubuntu 18.04

mgrojo opened this issue · 10 comments

Describe the bug
I could not run AppImage for hunter version 1.3.

To Reproduce
Steps to reproduce the behavior:

$ chmod +x hunter-x86_64.AppImage 
$ ./hunter-x86_64.AppImage 
./hunter: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_hunternJc0nd/usr/lib/libtcl8.6.so)
./hunter: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_hunternJc0nd/usr/lib/libtk8.6.so)

Expected behavior
hunter starts without errors.

Technical Info:

  • OS: Ubuntu 18.04.4 LTS
  • Version: Hunter 1.3

Hello,
Thank you very much for the report and I'm sorry for problems. I will try to look at it tomorrow (looks like I need to provide or older version of Tcl/Tk or some additional other libraries.

Good news is that I found some time to test it today. Bad news: I can't fix it. This GNU libc is so old that it require to ship literally the whole Ubuntu with itself to work :( Just using modern libraries not works (causes core dump). I will leave it now open, maybe someone will find a better solution for this, but I'm afraid that the only option is to compile the program by self.

Maybe some static linking might do the trick?

Problem is (my guess) with incompatibility between GNU LibC libraries versions (happens sometimes). Generally, Ada code (Hunter itself) is ok, should works. Problem is with libraries written in C on which Hunter depends. One of them (or even all) uses some new things which are available only in GNU LibC 2.29 or above. I do not recommend to upgrade only GNU LibC because it may crash the whole system.
Replacing bundled libraries with older version probably will not works too, but I'm not sure about this one.

Ok, I have one workaround for this problem, not sure if it can be classified as solution for it ;) I added another version of the program without Tcl/Tk libs (this one with nolibs in the name of the file). Also I added some explanation what is needed to run it (all needed libraries are available in Ubuntu 18.04). This one should works.
Plus of course another bug was found, on release page there is information how to workaround it too :) Send me a sign if this time the program at least starts. Expect a bit ugly look :D

Now it fails in a different way:

can't invoke "event" command: application has been destroyed
    while executing
"event generate $w <<ThemeChanged>>"
    (procedure "ttk::ThemeChanged" line 6)
    invoked from within
"ttk::ThemeChanged"

error.log

image

Hmm, are you sure you installed all required libraries? On Ubuntu it will be sudo apt install libtk-img tklib This command should install everything what is needed. I think I need to precise it in the release description :)

Sorry, it was late and I didn't pay much attention to the instructions. It works now 👍

By the way, out of curiosity, why have you decided to move away from GTK and to use TK?

Absolutely not a problem :) Ok, I will try to replace completely needed libraries in normal build with older versions, so that "dark magic" will not needed to run it before I close this issue.
And replacing: I'm "a bit" disappointed about direction in which GTK (not GTKAda) going (future plans, almost complete ignore other platforms than Linux, etc). Also I have to write, Tk is a lot easier to use or maintain. At least in the moment when you catch all dependencies :D Generally, there are a lot of subjective reasons why I'm stopping using GTK.

Ok, I've done some tests and I'm afraid that current state (a separated build with no libs) must works for now. When I try to use as default old versions of Tcl/Tk then it stops working properly on Ubuntu 20.04 (some conflicts with fontconfig). Thus for now I'm closing this issue as a solved. If you disagree, feel free to reopen it or create a new :) Once again, thank you very much for the report.