zrbecker
zrbecker

Reputation: 1592

Why do Linux distributions ship outdated CMake versions?

Ubuntu shipped CMake 2.8 when version 3.3 was the current version. Other Linux distributions do it similar. Is there a reason like backwards-compatibility issues with CMake 3.0?

I found plenty of people willing to explain how to upgrade CMake to the latest version, but couldn't figure out why it wasn't done by default. I'd like to understand the mentality of keeping it back before I decide to override the decision and upgrade it myself.

Upvotes: 2

Views: 767

Answers (1)

usr1234567
usr1234567

Reputation: 23422

Depends on the Linux distribution you're using. A distribution's maintainers cannot ship future versions and often they don't upgrade version with updates as it might break existing applications.

CMake 3.0 has some minor incompatibilities. More important, it got new features and some bugs were fixed. If software relys on these, you'll need a new version.

Btw: With CMake 2.8 the third part of the version number is relevant. They stayed a long time with 2.8.x and added features with increasing x. Then they could not update to 2.9 or 2.10, thus they decided to change the version scheme and increase y in 3.y.

Your question applies to a wider range of software. It is a general question, whether a distribution should stick to defined versions of software they provide or whether they should update it and potentially break the costumers' setup. Enterprise distributions like RHEL or SLE are very conservative and fix bugs for at least a decade. Ubuntu updates it distribution every six month but you can stick to the LTS for three years. Fedora even updates some key components like the kernel after the release. Arch Linux and openSuse Tumbleweed are rolling releases, the update their software almost on a daily bases, when the upstream updates publish new versions.

Upvotes: 2

Related Questions