Boost logo

Boost :

From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2021-06-03 11:15:01


On 02/06/2021 19:07, Peter Dimov via Boost wrote:
> Niall Douglas wrote:
>
>> - RHEL7 ships with cmake 3.9
>
> CentOS 7 ships with 2.8. But fortunately, you can install
> `cmake3` from EPEL, which is 3.17.

Ah yes. My workplace is on an older CentOS 7. Sigh.

> I haven't investigated how well `pip install --user cmake`
> works on those distros; it works on Travis, at least, and
> typically gives me the latest version. Of course non-x86
> platforms might have a different experience.

CentOS 7 is still python 2 based? I ask because I can see pip install
cmake stopping working at some point when they kill pip working with
python 2.

I'm seeing lots of votes for really recent cmakes, which I don't
understand the reasoning for other than "let's use the newest cmake just
cos". I also think there is an undervaluing here of forcing end users to
go off an install a newer cmake. For a whole bunch of corporate devs,
they're not allowed root access, to get newer tooling installed over
platform default is sufficient admin hassle that they'd rather forgo
upgrading the software they are using. It is for this exact same reason
they don't use any Boost library which isn't header only, and I wouldn't
want to add to that. Also, on some CentOS/RHEL/Docker systems, the local
cmake is specially configured for that system, and compiling your own or
using the prebuilt cmake binaries they won't work without non-obvious
customised build options. I say this from painful experience: making
people use a non-default cmake is a real turn off.

For me, if there is a *compelling* reason to use a newer cmake, then I'm
all for it. I'm not aware of any *compelling* feature adds after cmake
3.8, they're all nice to haves, not must haves. Even find_dependency()
is hardly a showstopper, you can hand craft an emulation wrapping
find_package() without much effort.

Meanwhile, Ubuntu 18.04 LTS which is cmake 3.9 will be very popular
until 2023, and not fall out of usage until 2028. All the Ubuntu servers
I'm running, and all those at work, they're ALL 18.04 and I don't expect
that to change until 2023 or so when we'll jump to 22.04 LTS because we
tend to track every second Ubuntu LTS release. We are hardly unusual in
this, if anything, we are much less conservative than most of our big
corporate work clients who are only *just now* upgrading from RHEL6 to
RHEL7.

So I'd like to reiterate my recommendation that we choose cmake 3.8 or
3.9, then Boost cmake is widely usable straight out of the box for big
corporate users. What do we lose by standardising on an older cmake version?

Niall


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk