-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AppImage doesn't work on systems with Glibc < 2.36 #2039
Comments
This seems to be a similar issue to #1993. Are you using X11? Can you reproduce the same issue with the deb release? |
@HeavenVolkoff I found the same issue with the AppImage on today's release, but (seemingly) the issue cannot be reproduced with the deb version. |
I realized that |
I've had (specific distro aside) exactly the same experience. I don't know the first thing about the tech stack, but blindly tried swapping my system libraries and glibc (inc. linker) into the AppImage, since they worked for the deb, which I also confirmed is the same binary. No dice. I don't always get the Loving the vision in the meantime though, .deb does work, thanks to everyone who's making this a reality. The first two big questions are 1). does a prior release work?, and 2). is there a distro that the AppImage is known to work on? If answering those doesn't narrow things down, i'll stick it in a non-appimage container and compare what needs passed through against how it's expressed in AppImage configuration-- both new to me, but happy to follow up if I hit any leads. |
0.2.4 works on NixOS Nix Derivetion
|
Awesome, that's exactly what I needed-- and what I great excuse to learn a little Nix!
Ah, sorry, I shouldn't have eluded my Distro & DE! For the record, I was also extracting it from the beginning (Non-FHS System: there are dozens of us!), and have reproduced the issue on Zorin OS 16.3 w/ Gnome-Wayland and on Guix with Gnome-Wayland, Gnome X11, and XFCE. I've reproduced the lack-of-an-issue on NixOS and Fedora KDE. I booted Nix for the 2nd time in my life and, following a failed attempt to
* I later merged most of these over the existing libraries, but am still exploring which can be moved without breakage. I've written a script that will reduce the combined file-tree to a minimal set overnight based on which files weren't in the original archive, the return value of AppRun (if it fails), and comparison with a known-good screenshot post-startup (if it doesn't). This would be quicker if it bisected, but it's about bedtime anyways and (barring any unforseen issues) it'll wrap up by morning. This update does clarify the nature of the issue, ie. that it is not an issue with AppImage or Display Server environment variables. Hopefully the specifics are clearer once I've shaken the fluff from the tree, but I'm overcoming ignorance through brute-force and may also need to see which files (if any) can be returned to stock before I might have another lead. |
Edit:
A lot of paths inside the AppImage are relative, presumably to it's root; so Alright, here are the files from the combined tree that can't be touched without breakage on Zorin OS 16.3: diff ../stock/AppRun.env ./AppRun.env
< APPDIR_LIBRARY_PATH=[…]
---
> APPDIR_LIBRARY_PATH=[…]:$APPDIR/lib:$APPDIR/runtime/compat/lib/x86_64-linux-gnu/:$APPDIR/lib64
Only in ./lib: libc.so.6
Only in ./lib64: libc.so.6
Only in ./lib64: libdrm.so.2
Only in ./lib64: libEGL.so.1
Only in ./lib64: libgbm.so.1
Only in ./lib64: libGLdispatch.so.0
Only in ./lib64: libGLX.so.0
Only in ./lib64: libstdc++.so.6
Only in ./lib64: libwayland-client.so.0
Only in ./lib64: libwayland-cursor.so.0
Only in ./lib64: libwayland-egl.so.1
Only in ./lib64: libwayland-server.so.0
Only in ./lib64: libX11.so.6
Only in ./lib64: libX11-xcb.so.1
Only in ./lib64: libxcb-randr.so.0
Binary files ../stock/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 and ./usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 differ
Binary files ../stock/usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0 and ./usr/lib/x86_64-linux-gnu/libgstgl-1.0.so.0 differ Important I haven't directly reproduced the issue by removing or restoring any of these files individually, but can by truncating either of the # This, uh, could be a different kind of breakage, but it's observably identical as far as I can tell--
# and curious that neither seems to surface any errors.[3]
printf '' > usr/bin/WebKitWebProcess && chmod +x usr/bin/WebKitWebProcess I've # Make sure you've got findutils, tar, gzip, wget, and patchelf.
wget https://github.com/AutumnalAntlers/spacedrive/releases/download/issue-2039/squashfs-root.tar.gz
tar -xzvf squashfs-root.tar.gz
cd squashfs-root
find . -type f -executable -print -exec patchelf --set-interpreter "$PWD"/lib64/ld-linux-x86-64.so.2 \{} \;
LD_LIBRARY_PATH=./lib ./AppRun Thought it would be slick to pack it back up as an AppImage for other users in the meantime, but couldn't figure out how to get it invoked-with or not-requiring the linker and libraries in I don't intend to invest time diving into the AppImage build process to figure out what needs to change on the backend, but hopefully I've helped to provide more info. 1: I'd left the ELF interpreter set to a local path, turns out to be non-trivial to resolve in a system-independent way (see: "untangle" above). I updated the instructions to use 2: I know how I'd do this in Guix (your choice between 3: …debug flags? |
Fwiw, I too notice a blank app once in a blue moon - this could be either: during dev, or a finished build. I usually just clear the Spacedrive data directory (only if you don't have any important libraries), and localStorage. The command below should cover both:
After starting a new build, this sometimes it resolves the issue. You could always try a full clean build, too: It's not fix 100% of the time, but it does work a good amount of the time! If this still doesn't solve it, let me know and I'll create a Pop!_OS install and give it a shot! |
@autumnalantlers thank you for the detailed report. I think I now have an idea of what may be causing this problem. Our AppImage ships with two runtimes, a default one for distros with a compatible version of Glibc and a compat one, that embeds a compatible Glibc, for distros that ship an older version of Glibc. Our AppImage is built using packages from Debian bookworm, which ships Glibc version 2.36. Neither of my system ever use the compat runtime because they always have a Glibc newer than Debian stable. However, both PopOS & Ubuntu 22.04 ships Glibc 2.35, Zorin OS 16.3 ships Glibc 2.31 and Guix 1.4.0 ships Glibc 2.33. All of these systems would use the compat runtime because of the older Glibc and considering I wasn't testing this, it is very possible that the |
Thanks for the explanation. I'm not a developer and haven't been using linux for very long, so these explanations are very helpful. |
same happens here on PopOS 22.04 LTS (x11, glibc 2.35) |
Describe the bug
on launching the spacedrive.appimage getting empty window with title
on executing on cmdline i see following erroe
Stack trace
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: