如果我希望我的软件在 Red Hat Linux 6.0 上运行,我必须在 6.0 上构建它吗?或者我可以在 6.3 上构建它吗?(5.X 的类似问题)我在问一个关于共享库的运行时影响以及在构建过程中被吸入的类似“自动”依赖项的一般性问题。而且我只对次要版本之间的分歧感兴趣。我知道主要版本之间会有更多的变化。我对 RH 和 RH 派生的发行版特别感兴趣。我的程序是用 C 和 C++ 编写的。我认为我需要担心的最大依赖是 C 和 C++ 的 GCC 运行时库。是否有一个网页可以用来验证哪些 GCC 更新在哪些 RH 次要版本中使用?
需要明确的是:我理解未来更新版本之间兼容性的目标和承诺。从 6.1 升级到 6.2 不应破坏我现有的应用程序。为了在较新的更新上构建并在较旧的更新上运行,我需要反向兼容性。我需要 6.1 与基于 6.2 构建的东西兼容。一般来说,这种兼容性不可能在所有配置文件、库等广泛传播的基础上实现。但我只需要一小部分反向兼容性。
我有一个在 6.1 上成功设计、编写和构建的应用程序。现在我想在 6.2 上构建它,但我希望它仍然在 6.1 上正确运行。Linux 上是否有一个通用的软件发布实践,您总是必须在您想要支持的最旧的更新版本上构建?还是大多数人使用反复试验来确定他们的应用程序是否在较旧的更新版本上运行?如果您使用试错法,等式中会出现多少“错误”?