I'm writing a program in Crystal, that I intend to compile and move to other systems for execution. Ideally, it should have no dependencies, as the target systems will be fresh installations of linux.
Sadly, I can't get around the libc dependency, so I will presumably have to compile the executable on a system possessing the lowest version of libc I wish to target. I figure it should be forward-compatible.
I'm having difficulty with libssl, however. Default installations of Debian Wheezy don't seem to come with libssl, so I get this error when running my executable:
error while loading shared libraries: libssl.so.1.0.0:
cannot open shared object file: No such file or directory
I assume this dependency exists because I require "http/client"
in my source. However, I make no ssl-related calls, as I only use it to connect to unsecured websites.
I apparently also have a dependency on libevent-2.0.so.5
. Presumably all Crystal programs do. Who knows how many other dependencies Crystal has?
My executables have to run on a freshly-installed linux system. So, how can I produce a Crystal executable with no dependencies? Other than libc, I suppose.