I've been developing a game called "zensekai" using godot, which I had always intended as a linux mobile game.
I have been trying to get the game to launch on the pinephone, and have already gotten it running (at separate times) on a pinebook pro and as a click package on x86_64 ubuntu:
(That part was actually really hard; the documentation for clickable might need some improving as far as troubleshooting CMake. But anyway, I built a click package that ran.)
I then tried to build the game for arm64, basically using a binary I compiled on the pinebook. To my surprise, the result of running
clickable --ssh (ip address) logs seemed to be that everything about the package was fine except the moment it tried to render graphics.
The error I got was:
zensekai: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
I'm guessing what this means is my Ubuntu Touch image didn't have openGL installed while the desktop/pinebook did. (And also that there are probably a few other missing libraries clickable will only tell me about after I fix this one.)
Is there any recommended approach for what to do when my app needs shared libraries, like including them in the app or some other method?
If you want to help me debug my specific game, you can get the source here
https://codeberg.org/Valenoern/zensekai-demo / https://codeberg.org/Valenoern/zensekai-demo.git
I will try to put up a compressed folder that contains the specific set of compiled files I'm using, and/or comprehensive instructions on what the results of compiling from the git repo should look like this evening or tomorrow, so this is actually useful to anybody
The very first caveat before you start compiling is you need to get the godot export templates from here (they start with "linux_"): https://codeberg.org/Valenoern/asekai-packages
and make sure the godot editor exports the game using one of them (probably the debug one).
After that you run
make, and either
make click-desktop (to test on ubuntu) or
make click (to build for arm64)
(Again, that's not really all the instructions, so I'll be back later to provide more complete ones.)
The result should look something like this:
(because funny enough, I forgot to account for compiling a helper program as arm64 so compiling right now would have the same bug as in this screenshot.)