我正在用Crystal编写一个程序,我打算编译并移动到其他系统执行。理想情况下,它应该没有依赖关系,因为目标系统将是 linux 的全新安装。
可悲的是,我无法绕过 libc 依赖项,因此我可能不得不在拥有我希望定位的最低版本 libc 的系统上编译可执行文件。我认为它应该是向前兼容的。
但是,我在使用 libssl 时遇到了困难。Debian Wheezy 的默认安装似乎没有附带 libssl,因此在运行可执行文件时出现此错误:
error while loading shared libraries: libssl.so.1.0.0:
cannot open shared object file: No such file or directory
我假设存在这种依赖关系,因为我require "http/client"
在我的源代码中。但是,我没有进行与 ssl 相关的调用,因为我只使用它来连接到不安全的网站。
我显然也依赖于libevent-2.0.so.5
. 大概所有 Crystal 程序都可以。谁知道 Crystal 还有多少其他依赖项?
我的可执行文件必须在新安装的 linux 系统上运行。那么,如何生成没有依赖关系的 Crystal 可执行文件?除了libc,我想。