Linux release won't start
The Linux release won't start for me. When I start it, this is all I see in the terminal. The main window never starts up:
➜ The Pawn by Magnetic Scrolls ./ThePawn-linux-0.6.10.AppImage
/tmp/.mount_XShje5/usr/bin//ThePawn.wrapper: line 121: 28482 Aborted LD_LIBRARY_PATH="" zenity --
question --title="$TITLE" --text="$TEXT" 2> /dev/null
/tmp/.mount_XShje5/usr/bin//ThePawn.wrapper: line 121: 28485 Aborted LD_LIBRARY_PATH="" zenity --
question --title="$TITLE" --text="$TEXT" 2> /dev/null
loading plugin magnetic.so
engine loaded, magnetic.so
data dir, /home/dugan/.local/share/Brahman/pawn
config dir, /tmp/.mount_XShje5/usr/bin/assets
Prefs, failed to load '/home/dugan/.local/share/Brahman/pawn/prefs.jsn'
Comments
Interestingly, I was able to run it by first extracting the AppImage and then running the extracted executable:
If I do that it works perfectly.
Is there something wrong with the AppImage?
is this a permissions thing? Strange that it works when extracted and not otherwise??
If I run the "AppRun" file after it's been extracted, it doesn't work either. I assume the problem is there.
What Linux distribution and version are you running it on?
What about a different release? (Hint : virtualbox vm)
Slackware64-current, multilib. The only thing about my distribution that I think might be relevant is is that it has 64-bit libraries in /usr/lib64 and 32-bit libraries in /usr/lib.
Not sure what you mean.
I'd be happy to help do more to help figure out why the AppRun file isn't working on this distribution. It's just a bit hard for me to figure out the next steps because all I have is the binary executable.
Sorry for the trouble with the AppImage. So let us try sorting this out. I had tested the AppImage on various distros/desktops, so I think (aka hope) it is not completely broken.
Can you perhaps tell me which distro and desktop you are using?
From the above error message, my first guess would be a problem with GTK. When the AppImage is started, the first thing come up is a dialog which asks whether to add icons for The Pawn to the menues. I assume you are not getting this dialog?
The start procedure is: mounting the image, running AppRun, which runs ThePawn.wrapper, which asks for desktop integration and then runs ThePawn executable. From your error message I conclude that ThePawn.wrapper is aborted and that is why nothing more is happening (and also explains why running AppRun doesn't help, because you end up in the aborting wrapper script again).
One first thing to try:
Deactivate the desktop integration by touching any of the following files:
and check if this gets you further. Perhaps you can also tell your gtk version. I vaguely remember some 3.20.x versions had serious problems, but my recollection might be unreliable...
Another point of possible failure: The desktop integration script needs desktop-file-validate. Normally the ditros have this installed, but you could check if you have it and in the rare case that it is missing, install it with apt-get install desktop-file-utils or the appropriate command for your distro.
I meant by installing virtualbox and using that to run other linux distributions without wiping your current setup. Sorry if I was not any clearer.
You should be able to get 32-bit ISO's (linux mint etc) still.
Yes, but I'm not trying to figure out whether or not it works on other distributions (presumably you know it does?). I'm trying to figure out why it doesn't work on this distribution.
We're not at the "sorry this is not a supported distribution" stage yet, are we?
Thanks Stefan. I'll look into all of those later tonight.
Hi Dugan,
Slackware64 was not among the distros that I used for testing. Will have a look into it. Would be good if you test the above. Will probably help in tracking down the problem.
The distro has already been mentioned: Slackware64-current, multilib.
The desktop that I actually run is OpenBox and Tint2. The distribution ships with an Xfce desktop, so it has enough of a GTK stack to run that. It does not ship with a full GNOME or GNOME-based desktop. The version of GTK3 is 3.22. The distribution does ship desktop-file-validate.
No, I didn't get the dialog boxes.
If it helps, the complete list of files in a stock install of this distribution is here:
http://ftp.osuosl.org/pub/slackware/slackware-current/slackware/MANIFEST.bz2
I'm sure you noticed that I had to set the LD_LIBRARY_PATH to run either ThePawn or ThePawn.wrapper. I assume the AppImage is supposed to be doing that?
Yes, AppRun and the wrapper are setting the LD_LIBRARY_PATH.
Did you try disabling the desktopintegration (you can re-enable it be removing the files).
Does your system have GTK zenity installed? Didn't find a reference in the manifest, but of course might be included somewhere else (sorry, havn't used slackware since a very,very long time...)
I'll have to get back to you on disabling the desktop integration later tonight.
The distribution does not ship Zenity, but I do have it installed. The executable is what you'd expect: /usr/bin/zenity. I have other programs using it to create GTK dialog boxes.
Disabling the desktop integration didn't make it launch. It just reduced what I saw printed.
If you're willing to post the source for the AppRun file, I should be able to figure out what's going on.
AppRun is part of the AppImageKit. You find the source for it at https://github.com/AppImage/AppImageKit/blob/appimagetool/master/AppRun.c
Well, I found out at least part of the problem: the following files need to be added to the AppImage's /usr/lib/x86_64/linux-gnu directory:
Could you please make a fixed AppImage with those added, and let me test it?
Can you please run the following in the usr dir of the extracted appimage. It might help in tracking down additional missing libs.
find . -type f -executable -exec ldd {} \; 2>&1 | grep "=> not found" | sort | uniq
This will also list a couple of libs that are not really missing as they are linked from qt plugins that we do not use, but that way I can compare the list to some other distro.
Might save us from digging up one miss after another...
Also, the fallbacks to kdialog in the wrapper script aren't correct, at least on Slackware.
should be
And the following flag needs to be removed:
On my Slackware VM with its KDE upgraded to 5:
Yes, you are right, the first one is missing a dash, added this to the bug list. The caption option should be valid, though?!?
Unfortunately, not in the version that Slackware ships.
Hmm, all in the above list are in the lib folder and should be loaded (assuming that the path is correctly set).
Can you please run this in usr and in lib in the appimage folder (isn't perfect but should list the missing dependencies...)
find . -type f -perm /a+x -exec ldd {} \; | grep so | sed -e '/^[^\t]/ d' | sed -e 's/\t//' | sed -e 's/.*=..//' | sed -e 's/ (0.*)//' | sort | uniq | xargs ls | grep 'cannot'
I am not sure if it will work to bundle libselinux with the appimage, but we will see...
I just set up a stable-release, no-extra-software Slackware VM to test against.
The KDialog fallback worked. Including --caption and -yesno.
Again, libselinux.so.1 and libpcre.so.3 were all that were needed to get the AppRun file to launch the game.
And as for the output of those commands:
Ok, I will try to bundle those two libs into the AppImage. Please allow me a little time. We are just reorganizing for the next dev steps and I need to carefully check whether the libs cause trouble on the other distros before pushing an update. I am especially sceptical about selinux, although I wonder why AppRun needs it anyway. Will get back to you. Thanks for testing, btw.
I think I fixed the AppImage for a standard stable-release of Slackware64, so with the upcoming ThePawn update you will hopefully be able to directly run the AppImage. Thanks for reporting and helping with tracking down the required libs.
is deprecated. Take it out.
https://api.kde.org/frameworks/kdelibs4support/html/namespaceKGlobal.html#aef7bdfeb650df93b62619b5ae1b95808