Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles

[Linux] No executables found; manifest not applying?

A topic by Histidine created Apr 14, 2018 Views: 101 Replies: 2
Viewing posts 1 to 3

My team's game Zero-K has a (semi-)portable .zip which the itch app downloads. 

When attempting to launch the game from the app on my Linux install (Ubuntu 16.04 LTS), it fails with an error 'game.install.no_executables_found'. The launch options specified in the .itch.toml manifest file do not appear, neither with the manifest actually included in the .zip nor the one I'm trying locally:

# current public version
# made with help from Aaron Franke
# Windows launch configs
[[actions]]
os = "windows"
name = "play"
path = "Zero-K.exe"
sandbox = true
# Linux launch configs
[[actions]]
os = "linux"
name = "play"
path = "mono"
args = ["Zero-K.exe"]
sandbox = true
[[actions]]
os = "linux"
name = "Play (check dependencies)"
path = "Zero-K.sh"
sandbox = true
console = true
# Website link (all OSes)
[[actions]]
name = "website"
path = "https://zero-k.info"
sandbox = true
# Wiki (all OSes)
[[actions]]
name = "wiki"
path = "https://zero-k.info/mediawiki/"
sandbox = true
# local version
# Windows launch configs
[[actions]]
#os = "windows"
name = "Play (Windows)"
path = "Zero-K.exe"
sandbox = true
# Linux launch configs
[[actions]]
#os = "linux"
name = "Play (Linux)"
path = "mono"
args = ["Zero-K.exe"]
sandbox = true
[[actions]]
#os = "linux"
name = "Install dependencies (Linux)"
path = "Zero-K.sh"
sandbox = true
console = true
# Website link (all OSes)
[[actions]]
name = "website"
path = "https://zero-k.info"
sandbox = true
# Wiki (all OSes)
[[actions]]
name = "wiki"
path = "https://zero-k.info/mediawiki/"
sandbox = true

Butler validate doesn't report any issues with the second manifest (the first one gives a complaint about the 'os' key, which I only recently noticed apparently hasn't been implemented yet).

Full error log: https://pastebin.com/RYzzTxvp

Am I just plain doing something obviously wrong?

Admin (1 edit) (+1)

Hey there!

There's a bunch of things happening at once here:

  • There's issues with Zero-K.sh (see this comment https://github.com/itchio/itch/issues/1608#issuecomment-384237076 )
  • There's a bug in v23 that causes it to ignore the manifest if it cannot find executables
    • That's what you're seeing: v23 ignoring your manifest
  • If I fix the script (convert CRLF endings to LF and add a she-bang), it still won't work, for two reasons:
    • The script calls sudo, which is not going to work since there is no way for the user to input their password
    • v23 doesn't implement the "os" key, as you noticed! So it gets confused and launches Zero-K.exe anyway (since they're both named launch).

Here's how things are looking for the future:

  • The "manifest ignored if no executables" bug is not present in v25
  • Scripts without shebangs are opened as a text file though, I'm not entirely decided yet but I may make it accept shebang-less ".sh" files and default to bash. Although that means the game build will be a bad experience for non-app users :(
  • The "os" filter is supported (even if it wasn't, it wouldn't confuse both manifest actions anyway).
  • Aaron Franke requested a Mono prerequisite (which means no need to call sudo from your script), and I'm thinking pretty hard about adding it: https://github.com/itchio/itch/issues/1606
(+1)

Thanks Amos, that was really helpful!

I remembered that we were experimenting with an mkbundle build, so I added that executable and .sh file to the itch portable. Now it launches correctly in v23 without needing/prompting the user to install Mono. So we're all good here :)