【发布时间】:2015-04-21 13:43:10
【问题描述】:
我目前正在从事一个 Linux 项目。该项目需要在每个 Linux 发行版下运行(无需为客户端安装任何包/库/其他),而且要做好有点困难。
我自己已经尝试过,请参阅this,我也尝试过使用CDE,但由于某些分发出现错误,因此效果不佳。例如:
- Ubuntu 8.04:无法读取 ELF 标头
- Debian 7.8:找不到 GLIBC_2.14 版本
所以,我想知道是否有办法让我的程序包可以在每个 Linux 发行版下运行。
谢谢
编辑:我想避免静态编译,因为我的程序很大。
【问题讨论】:
-
你能做的最好的就是静态编译你的程序(注意二进制可以有几百MB)。这仍然不能保证二进制文件将在所有发行版中运行,因为这样的要求是荒谬的。
-
嗯,还有一个选项可以使用 clang 分发源代码并在现场编译。但这会导致缺少标题等其他问题。
-
你不想安装任何库,你也不想静态编译......有一种说法是吃你的蛋糕,也有它。
标签: linux package libraries symlink