-
Notifications
You must be signed in to change notification settings - Fork 215
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
Update excludelist: removing libgdk-x11-2.0.so.0 per #145 #146
base: master
Are you sure you want to change the base?
Conversation
Rather than just deleting it, please comment it out and add a comment describing why it cannot be assumed to be part of each target system. Thanks! Isn't this part of GTK+ 2 which we assume to be part of the base system? |
Well it wasn't part of Fedora 24, so if it is part of the assumption, it's a faulty assumption, rofl. This is the GNOME edition of Fedora 24 too, so of all desktop environments one would assume it'd be the one to provide this library if it is a GTK+ 2 one. I'm working on the edit. |
Done. |
Could it be that a similarly-but-slightly-differently-named file exists on Fedora? Maybe we could symlink that instead? I still think this is a core part of GTK+ 2.0... |
You're right, except it's not similarly named it's identically named: $ find /usr/lib64 -name "libgdk-x11*"
/usr/lib64/libgdk-x11-2.0.so.0
/usr/lib64/libgdk-x11-2.0.so.0.2400.31
/usr/lib64/libgdk-x11-2.0.so |
So, why doesn't it use it then? Why should we bundle another one? |
Don't know. But it causes this error, maybe it's related to the specific version of this library? Or maybe it's because it's looking for this library in |
Please run with |
|
Based on the debug libs output I think I am right, the library provided by Fedora is a different version to that required by the AppImage. |
Are you sure that you ran the strace command with sudo? |
Looking at which output? |
first comment no, didn't realize it was necessary, one sec I'll do that: http://paste2.org/Ph6558m9. Second comment based on:
|
Oops no I mean this output: 2173: find library=libgdk-x11-2.0.so.0 [0]; searching
2173: search path=/tmp/.mount_w2XqD4/usr/bin/../lib (RPATH from file /tmp/.mount_w2XqD4/usr/bin/geany)
2173: trying file=/tmp/.mount_w2XqD4/usr/bin/../lib/libgdk-x11-2.0.so.0
2173: search path=./lib/tls/x86_64:./lib/tls:./lib/x86_64:./lib:./lib/i386-linux-gnu/tls/x86_64:./lib/i386-linux-gnu/tls:./lib/i386-linux-gnu/x86_64:./lib/i386-linux-gnu:./lib/x86_64-linux-gnu/tls/x86_64:./lib/x86_64-linux-gnu/tls:./lib/x86_64-linux-gnu/x86_64:./lib/x86_64-linux-gnu:./lib32/tls/x86_64:./lib32/tls:./lib32/x86_64:./lib32:./lib64/tls/x86_64:./lib64/tls:./lib64/x86_64:./lib64 (LD_LIBRARY_PATH)
2173: trying file=./lib/tls/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib/tls/libgdk-x11-2.0.so.0
2173: trying file=./lib/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib/libgdk-x11-2.0.so.0
2173: trying file=./lib/i386-linux-gnu/tls/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib/i386-linux-gnu/tls/libgdk-x11-2.0.so.0
2173: trying file=./lib/i386-linux-gnu/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib/i386-linux-gnu/libgdk-x11-2.0.so.0
2173: trying file=./lib/x86_64-linux-gnu/tls/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib/x86_64-linux-gnu/tls/libgdk-x11-2.0.so.0
2173: trying file=./lib/x86_64-linux-gnu/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
2173: trying file=./lib32/tls/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib32/tls/libgdk-x11-2.0.so.0
2173: trying file=./lib32/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib32/libgdk-x11-2.0.so.0
2173: trying file=./lib64/tls/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib64/tls/libgdk-x11-2.0.so.0
2173: trying file=./lib64/x86_64/libgdk-x11-2.0.so.0
2173: trying file=./lib64/libgdk-x11-2.0.so.0
2173: search cache=/etc/ld.so.cache
2173: trying file=/lib64/libgdk-x11-2.0.so.0 |
While we're on the topic of blacklisted libraries zenity, kdialog, Xdialog missing. Skipping ./bin//geany.wrapper.
/tmp/.mount_3N7xOv/usr/bin/geany: error while loading shared libraries: libselinux.so.1: cannot open shared object file: No such file or directory |
|
@b4n may be right here - needs to be verified by experimentation on different distros. |
I also think that very common X11 libs should be excluded by default (libx11, libext6; but not the libxcb* stuff or "rare" libraries that are usually not installed or even dropped by some distros). I would also exclude glib2 and gtk+-2 and their companion libraries (libatk, libgdk*, ...), as those libraries are normally installed by default and they have a very stable API. |
Do you know which of these can really be expected to (still) be part of each distro? (even distros using Wayland?)
You may be right there. Feel free to send a PR but include the rationale as comments in the exclude(deb)list.
No, by design. So that we are forced to learn and share the insights (i.e., if we change the blacklist all AppImages benefit from it). |
Well, on my Debian unstable, |
I don't know, but I'm kind of afraid that either X is an indirect dependency of the app (e.g. through GTK), or the app is likely not to work on Wayland anyway. |
It's better to include the libxcb* stuff because I've already experienced issues with apps being compiled on Ubuntu 12.04 that didn't work on newer versions because of a soname version bump of a libxcb* library. Taking a quick look into the Ubuntu repositories[1] also reveals that not all libxcb libraries are available on all distros: |
That kinda makes sense, but how do we know that the same stuff is not a dependency of some app directly, i.e., not through "the otherwise excluded things"? |
Here's a first list based on what's installed on my system and what's available since Ubuntu 12.04: https://gist.github.com/darealshinji/21f368ddb61f4d3cfa303e228bb0e9db It would of course be a good idea to check if these are all available by default on Live CDs of other distros. |
saiarcot895/chromium-ubuntu-build#12 (comment) might be affected by this |
Per title, removing libgdk-x11-2.0.so.0 from excludelist per issue #145.