为什么 Linux 发行版发布了过时的 CMake 版本?
Why do Linux distributions ship outdated CMake versions?
Ubuntu 在版本 3.3 是当前版本时发布了 CMake 2.8。其他 Linux 发行版也是这样做的。是否存在 CMake 3.0 的向后兼容性问题之类的原因?
我发现很多人愿意解释如何将 CMake 升级到最新版本,但无法弄清楚为什么没有默认完成。在我决定推翻决定并自行升级之前,我想了解保留它的心态。
取决于您使用的 Linux 发行版。发行版的维护者无法发布未来的版本,而且他们通常不会使用更新来升级版本,因为这可能会破坏现有的应用程序。
CMake 3.0 有一些小的不兼容性。更重要的是,它获得了新功能并修复了一些错误。如果软件依赖于这些,您将需要一个新版本。
顺便说一句:对于 CMake 2.8,版本号的第三部分是相关的。他们在 2.8.x 上呆了很长时间,并随着 x 的增加而增加了功能。然后他们无法更新到 2.9 或 2.10,因此他们决定更改版本方案并在 3.y.
中增加 y
您的问题适用于范围更广的软件。这是一个普遍的问题,发行版是否应该坚持他们提供的软件的定义版本,或者他们是否应该更新它并可能破坏客户的设置。像 RHEL 或 SLE 这样的企业发行版非常保守,修复错误至少十年。 Ubuntu 每六个月更新一次发行版,但您可以坚持使用 LTS 三年。 Fedora 甚至在发布后更新了内核等一些关键组件。 Arch Linux 和 openSuse Tumbleweed 是滚动版本,当上游更新发布新版本时,几乎每天都会更新它们的软件。
Ubuntu 在版本 3.3 是当前版本时发布了 CMake 2.8。其他 Linux 发行版也是这样做的。是否存在 CMake 3.0 的向后兼容性问题之类的原因?
我发现很多人愿意解释如何将 CMake 升级到最新版本,但无法弄清楚为什么没有默认完成。在我决定推翻决定并自行升级之前,我想了解保留它的心态。
取决于您使用的 Linux 发行版。发行版的维护者无法发布未来的版本,而且他们通常不会使用更新来升级版本,因为这可能会破坏现有的应用程序。
CMake 3.0 有一些小的不兼容性。更重要的是,它获得了新功能并修复了一些错误。如果软件依赖于这些,您将需要一个新版本。
顺便说一句:对于 CMake 2.8,版本号的第三部分是相关的。他们在 2.8.x 上呆了很长时间,并随着 x 的增加而增加了功能。然后他们无法更新到 2.9 或 2.10,因此他们决定更改版本方案并在 3.y.
中增加 y您的问题适用于范围更广的软件。这是一个普遍的问题,发行版是否应该坚持他们提供的软件的定义版本,或者他们是否应该更新它并可能破坏客户的设置。像 RHEL 或 SLE 这样的企业发行版非常保守,修复错误至少十年。 Ubuntu 每六个月更新一次发行版,但您可以坚持使用 LTS 三年。 Fedora 甚至在发布后更新了内核等一些关键组件。 Arch Linux 和 openSuse Tumbleweed 是滚动版本,当上游更新发布新版本时,几乎每天都会更新它们的软件。