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:

    ./ThePawn-linux-0.6.10.AppImage --appimage-extract
    cd squashfs-root/usr/bin
    env LD_LIBRARY_PATH=. ./ThePawn
    

    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.

    What about a different release? (Hint : virtualbox vm)

    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.

  • edited July 2017

    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:
    * $HOME/.local/share/appimagekit/no_desktopintegration
    * /usr/share/appimagekit/no_desktopintegration
    * /etc/appimagekit/no_desktopintegration

    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.

  • edited July 2017

    Disabling the desktop integration didn't make it launch. It just reduced what I saw printed.

    ➜  The Pawn by Magnetic Scrolls touch ~/.local/share/appimagekit/no_desktopintegration
    ➜  The Pawn by Magnetic Scrolls ./ThePawn-linux-0.6.10.AppImage 
    loading plugin magnetic.so
    engine loaded, magnetic.so
    data dir, /home/dugan/.local/share/Brahman/pawn
    config dir, /tmp/.mount_dqxdyi/usr/bin/assets
    ^C⏎
    
    ➜  The Pawn by Magnetic Scrolls which desktop-file-validate
    /usr/bin/desktop-file-validate
    
  • 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:

    • libselinux.so.1
    • libpcre.so.3

    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.

    -yesno
    

    should be

    --yesno
    

    And the following flag needs to be removed:

    --caption ''
    
  • On my Slackware VM with its KDE upgraded to 5:

    bash-4.4$ find . -type f -executable -exec ldd {} \; 2>&1 | grep "=> not found" | sort | uniq
            libSoundTouch.so.1 => not found
            libavc1394.so.0 => not found
            libbrahmanapi.so.1 => not found
            libclutter-1.0.so.0 => not found
            libcogl-pango.so.20 => not found
            libcogl-path.so.20 => not found
            libcogl.so.20 => not found
            libdv.so.4 => not found
            libfarstream-0.2.so.2 => not found
            libgsm.so.1 => not found
            libgstbadbase-1.0.so.0 => not found
            libgstbadvideo-1.0.so.0 => not found
            libgstbasecamerabinsrc-1.0.so.0 => not found
            libgstcodecparsers-1.0.so.0 => not found
            libgstgl-1.0.so.0 => not found
            libgstmpegts-1.0.so.0 => not found
            libgstphotography-1.0.so.0 => not found
            libgsturidownloader-1.0.so.0 => not found
            libgupnp-1.0.so.4 => not found
            libgupnp-igd-1.0.so.4 => not found
            libiec61883.so.0 => not found
            libjasper.so.1 => not found
            libnettle.so.4 => not found
            libopus.so.0 => not found
            libpng15.so.15 => not found
            libpq.so.5 => not found
            librom1394.so.0 => not found
            libshout.so.3 => not found
            libspeex.so.1 => not found
            libsrtp.so.0 => not found
            libvpx.so.1 => not found
    
  • Yes, you are right, the first one is missing a dash, added this to the bug list. The caption option should be valid, though?!?

  • @stefan said:
    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.

  • edited July 2017

    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...

  • edited July 2017

    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:

    bash-4.3$ cd ../usr
    bash-4.3$ find . -type f -executable -exec ldd {} \; 2>&1 | grep "=> not found" | sort | uniq
    libQt53DCore.so.5 => not found
    libQt53DInput.so.5 => not found
    libQt53DLogic.so.5 => not found
    libQt53DQuick.so.5 => not found
    libQt53DQuickScene2D.so.5 => not found
    libQt53DRender.so.5 => not found
    libQt5Concurrent.so.5 => not found
    libQt5Core.so.5 => not found
    libQt5DBus.so.5 => not found
    libQt5EglFSDeviceIntegration.so.5 => not found
    libQt5Gamepad.so.5 => not found
    libQt5Gui.so.5 => not found
    libQt5Multimedia.so.5 => not found
    libQt5MultimediaQuick_p.so.5 => not found
    libQt5MultimediaWidgets.so.5 => not found
    libQt5Network.so.5 => not found
    libQt5Qml.so.5 => not found
    libQt5Quick.so.5 => not found
    libQt5QuickControls2.so.5 => not found
    libQt5QuickParticles.so.5 => not found
    libQt5QuickTemplates2.so.5 => not found
    libQt5QuickTest.so.5 => not found
    libQt5Sql.so.5 => not found
    libQt5Svg.so.5 => not found
    libQt5Test.so.5 => not found
    libQt5Widgets.so.5 => not found
    libQt5XcbQpa.so.5 => not found
    libQt5Xml.so.5 => not found
    libQt5XmlPatterns.so.5 => not found
    libSoundTouch.so.1 => not found
    libavc1394.so.0 => not found
    libbrahmanapi.so.1 => not found
    libclutter-1.0.so.0 => not found
    libcogl-pango.so.20 => not found
    libcogl-path.so.20 => not found
    libcogl.so.20 => not found
    libdv.so.4 => not found
    libfarstream-0.2.so.2 => not found
    libgsm.so.1 => not found
    libgstbadbase-1.0.so.0 => not found
    libgstbadvideo-1.0.so.0 => not found
    libgstbasecamerabinsrc-1.0.so.0 => not found
    libgstcodecparsers-1.0.so.0 => not found
    libgstgl-1.0.so.0 => not found
    libgstmpegts-1.0.so.0 => not found
    libgstphotography-1.0.so.0 => not found
    libgsturidownloader-1.0.so.0 => not found
    libgupnp-1.0.so.4 => not found
    libgupnp-igd-1.0.so.4 => not found
    libiec61883.so.0 => not found
    libjson-glib-1.0.so.0 => not found
    libnettle.so.4 => not found
    libnice.so.10 => not found
    libopus.so.0 => not found
    libpng15.so.15 => not found
    libpq.so.5 => not found
    libqgsttools_p.so.1 => not found
    librom1394.so.0 => not found
    libshout.so.3 => not found
    libspeex.so.1 => not found
    libsrtp.so.0 => not found
    libvpx.so.1 => not found
    bash-4.3$ 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'
    ls: cannot access 'linux-vdso.so.1': No such file or directory
    ls: cannot access 'not': No such file or directory
    ls: cannot access 'found': No such file or directory
    bash-4.3$ cd ../lib
    bash-4.3$ 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'
    ls: cannot access 'linux-vdso.so.1': No such file or directory
    ls: cannot access 'not': No such file or directory
    ls: cannot access 'found': No such file or directory
    bash-4.3$ 
    
  • 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.

Sign In or Register to comment.