我正在编写一个程序Crystal,我打算编译并移动到其他系统执行。理想情况下,它应该没有依赖关系,因为目标系统将是全新的Linux安装。如何生成不依赖关系的Crystal可执行文件?
不幸的是,我无法绕过libc依赖项,所以我想大概必须在拥有最低版本libc的系统上编译可执行文件,我希望以此为目标。我认为它应该是向前兼容的。
但是,我遇到了libssl的困难。 Debian的喘息的默认安装中似乎并没有配备的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有多少其他依赖关系?
我的可执行文件必须在新安装的linux系统上运行。那么,我怎样才能生成一个没有依赖的Crystal可执行文件呢?除了libc,我想。
我喜欢这个问题;有一段时间一切都是静态联系的。蠕虫会转动。 – will