【问题标题】:Program package to work with all the Linux distribution适用于所有 Linux 发行版的程序包
【发布时间】: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


【解决方案1】:

Linux 发行版之间存在很大差异,尤其是库版本和包管理系统。

如何做到这一点的唯一方法是针对您需要静态使用的所有库构建/编译您的项目,并将它们与您的项目一起分发。

例如 skype 和 ejabberd 就是这样做的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 2013-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-13
    相关资源
    最近更新 更多