Closed jberryman closed 1 year ago
Could you perhaps give this build a try?: https://graphia.dev/Linux%20AppImage/Graphia-dev-2517-gb5da2228d-ubuntu2204.tar.gz
TL;DR: Distributing binary applications for Linux is hard.
Looking at your crash stack dumps, it looks like libgtk (bundled in the AppImage, originally from Ubuntu 20.04) is making a call to glibc and the crash is occurring in there for some reason, most likely because of some binary incompatibility between glibc 2.31 (from Ubuntu 20.04) and glibc on Debian Bookworm (probably .35/.36). In theory this should be fine, since newer versions of glibc are supposed to be binary compatible with libraries linked against older versions. The above linked build is made using Ubuntu 22.04, which uses glibc 2.35, so the difference to Debian Bookworm is at least minimised to some extent and that is likely to minimise the incompatibility. Now, I could make 22.04 the default build environment, but then older Linux installations (with glibc < 2.35) will stop working. It's all a compromise basically. The other option (which a lot of binary applications take) is essentially to make an enormous static build to minimise the incompatibility, but doing this has bad interactions with dynamically loading libraries otherwise (which Graphia needs to do for its plugin facility). There is no perfect solution.
If the above build doesn't work, the other thing you could try is to extract the AppImage (Graphia.AppImage --appimage-extract
), then copy the libraries that Graphia uses from your local system (most likely in /usr/lib/x86_64-linux-gnu/
), to its /usr/lib
, then run AppRun
.
The build failure looks like it's because it's trying to build against Qt 5, whereas Graphia now uses Qt 6(.3.2). I've no idea how Debian deals with having 5 and 6 installed simultaneously, probably you need to change something in /etc/default
or some such. I do need to get around to improving the build instructions though...
Thanks!
Could you perhaps give this build a try?: https://graphia.dev/Linux%20AppImage/Graphia-dev-2517-gb5da2228d-ubuntu2204.tar.gz
This seems to work! although for some reason I can't zoom with the mouse wheel it seems (maybe an unrelated issue with this build?)... otherwise the tutorial graph seems to all work
For now I've managed to get my docker container working for 3.1, but I will definitely circle back here when I can
Good. Perhaps what I need to do is offer two Linux builds. Ugh.
I had some time to look at this is bit more closely and, long story short, I drew the wrong conclusions. With the limited crash data available I had assumed that some libc binary incompatibility was the underlying cause. However having now installed Debian in a VM and reproduced the crash with debug symbols etc., it's actually an assert that was being hit in GTK that was aborting the whole application (pretty shitty failure mode there, GTK, but whatever). Turns out that GTK was not fully/correctly deployed within the AppImage. Once I remedied this, it all appears to work. The reason it worked with the Ubuntu 22.04 based build is probably (I'm speculating) because GTK improved the aforementioned failure mode, and not at all related to the version of libc involved. I've now released Graphia 3.2, which includes this fix, I expect it'll work better for you.
As for the mouse wheel, I'm assuming you have also been running in a virtualised environment of some sort, and that issue #61 may be the cause there. Note this will only occur in the upcoming dev versions, not the 3.x series.
Amazing, I really appreciate your efforts on this!
As for the mouse wheel, I'm assuming you have also been running in a virtualised environment of some sort, and that issue #61 may be the cause there. Note this will only occur in the upcoming dev versions, not the 3.x series.
I was running as QT_QPA_PLATFORM=xcb ./Graphia.AppImage
under wayland… Which I confess I'm not sure what that does
I don't have experience working with Qt, nor C++ and need some better guidance about how to build from source. (I submitted a report for the crash in the gui from the appimage)
This used to work for me : https://github.com/graphia-app/graphia/pull/17 ...but now on debian bookworm and with the 3.1 tag I get some errors building (below)
I tried doing a
sudo apt install libqt6svg6-dev qt6-base-dev qt6-declarative-dev
, but that didn't seem to change anythingfailed build output: https://gist.github.com/jberryman/9073bc074993e318faa47c24e7db4b05
Thanks!