The current release build for linux ARM64 has a dependency on SDL2 that is not satisfied by the installed system libsdl2 package. The binary appears to have a hard-coded path that looks for an SDL2.so file in the current directory, and dumps core if that specific file is not found, even if SDL2 is installed. Tested on Ubuntu, but behaves similarly elsewhere.
Core dump on first run:
user@vm-ubuntu:~/Downloads/GitHubLauncher-v1.73-Linux-ARM64$ ./GithubLauncher
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'SDL2' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
/home/user/Downloads/GitHubLauncher-v1.73-Linux-ARM64/SDL2.so: cannot open shared object file: No such file or directory
/home/user/Downloads/GitHubLauncher-v1.73-Linux-ARM64/libSDL2.so: cannot open shared object file: No such file or directory
/home/user/Downloads/GitHubLauncher-v1.73-Linux-ARM64/SDL2: cannot open shared object file: No such file or directory
/home/user/Downloads/GitHubLauncher-v1.73-Linux-ARM64/libSDL2: cannot open shared object file: No such file or directory
Local package manager output, showing an installed and available SDL2:
user@vm-ubuntu:~/Downloads/GitHubLauncher-v1.73-Linux-ARM64$ apt list | grep sdl | grep installed
libsdl2-2.0-0/resolute,now 2.32.10+dfsg-6 arm64 [installed]
libsdl2-classic/resolute,now 2.32.10+dfsg-6 arm64 [installed,automatic]
Copy the shared library into the current directory:
user@vm-ubuntu:~/Downloads/GitHubLauncher-v1.73-Linux-ARM64$ cp /usr/lib/aarch64-linux-gnu/libSDL2-2.0.so.0 ./SDL2.so
App now launches and runs without errors:
user@vm-ubuntu:~/Downloads/GitHubLauncher-v1.73-Linux-ARM64$ ./GithubLauncher
GithubLauncher Updater - Version v1.73
I don't know enough about the .NET build environment to suggest how to convince it not to do this, but I think the license status of the SDL2 library allows you to just bundle it with the release, which might be easier. This app is a brilliant idea, btw.
The current release build for linux ARM64 has a dependency on SDL2 that is not satisfied by the installed system libsdl2 package. The binary appears to have a hard-coded path that looks for an SDL2.so file in the current directory, and dumps core if that specific file is not found, even if SDL2 is installed. Tested on Ubuntu, but behaves similarly elsewhere.
Core dump on first run:
Local package manager output, showing an installed and available SDL2:
Copy the shared library into the current directory:
App now launches and runs without errors:
I don't know enough about the .NET build environment to suggest how to convince it not to do this, but I think the license status of the SDL2 library allows you to just bundle it with the release, which might be easier. This app is a brilliant idea, btw.