[llvm-dev] Upgrading LLVM's minimum required CMake version

Mehdi AMINI via llvm-dev llvm-dev at lists.llvm.org
Thu Jul 16 18:35:19 PDT 2020


What about helping the user: https://reviews.llvm.org/D83995 ?
(can also improve the detection to point at the apt repo on Ubuntu if
needed)

-- 
Mehdi


On Thu, Jul 16, 2020 at 6:21 PM James Y Knight via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Please, no more waiting on CMake versions in distro LTS releases. We have
> been *way* too conservative already, waiting this long.
>
> Downloading and building a local copy of cmake is trivial. You don't even
> need to install it. Anyone who is developing and building LLVM can
> definitely manage it. Not only that, kitware even has an official apt
> repository -- you can install a deb if installing that seems easier for you
> (https://apt.kitware.com/).
>
>
> On Thu, Jul 16, 2020 at 8:05 PM Jessica Clarke via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> On 30 Jun 2020, at 16:04, Louis Dionne via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>> >> On Apr 8, 2020, at 13:06, Louis Dionne <ldionne at apple.com> wrote:
>> >>> On Apr 2, 2020, at 10:19, Louis Dionne via llvm-dev <
>> llvm-dev at lists.llvm.org> wrote:
>> >>>
>> >>> Okay, so we've had some discussion on this thread, and although some
>> people (including me) would like a more aggressive policy, I believe the
>> following will not get any objection (based on the thread). On April 23rd
>> 2020, Ubuntu 20.04 LTS will ship with CMake 3.16.x. This will make the
>> lower bound for LTS distributions be 3.13.4, and so I suggest we upgrade to
>> that. Here's a proposed process:
>> >>>
>> >>> 1. Immediately add a CMake warning in <root>/llvm/CMakeLists.txt
>> saying that CMake 3.13.4 will be the new minimum version starting with LLVM
>> 12.0.0, and mentioning the versions used in various LTSes.
>> >>> 2. Immediately send a courtesy heads-up email to all build-bot owners
>> telling them about the upcoming change.
>> >>> 3. Right after we branch off the release branch for LLVM 11.0.0 (the
>> next one), make the minimum CMake version required be 3.13.4.
>> >>> 4. Iterate on (3) until all bots are migrated.
>> >>> 5. Send a message to the list saying the bump is complete. At that
>> time, projects are free to start using features from 3.13.4.
>> >>>
>> >>> Unless someone else absolutely wants to bite the bullet, I volunteer
>> to do the above steps.
>> >>
>> >> Ok, so the thread has kept going, but AFAICT all the discussion is
>> about a policy for "automatic" upgrades. So I've went ahead and did the
>> first two steps of the above algorithm:
>> >>
>> >> (1) Review at https://reviews.llvm.org/D77740
>> >> (2) Email sent to the owners of all build slaves listed on
>> http://lab.llvm.org:8011/buildslaves
>> >>
>> >> Just to reiterate, this means that as soon as we branch LLVM 11.0.0
>> (the NEXT release), CMake 3.13.4 will be the minimum required version.
>> >
>> > Hi,
>> >
>> > Just a heads up that about two weeks from now, we should be branching
>> for the LLVM 11.0.0 release. Right after we branch, I will implement steps
>> (3) and (4) of the algorithm described above, which is to make the minimum
>> CMake version required be 3.13.4. I will do this by checking-in this patch:
>> https://reviews.llvm.org/D78646.
>> >
>> > That patch will cause errors whenever the CMake version is less than
>> 3.13.4 -- I will then revert and re-apply this patch until all build bots
>> have upgraded to a sufficient CMake. The patch was crafted to be minimal
>> and revert-friendly. Note that build bot owners have already been contacted
>> in March and pinged several times again for those who had not yet upgraded.
>> At this time, I think only 1-2 bots have not upgraded.
>> >
>> > Once everyone has upgraded, I will then apply this patch:
>> https://reviews.llvm.org/D78648. That patch marks the minimum CMake
>> version required as being 3.13.4 throughout the monorepo in a slightly more
>> invasive but definitive way. Once that's all done, I'll report to the list
>> that the version bump is complete and we can all start using modern CMake
>> features.
>> >
>> > Cheers,
>> > Louis
>>
>> I missed this entire discussion but would like to chime in. All of our
>> department's machines run on Ubuntu 18.04 as standard. I suspect the same
>> is true across a large number of organisations, as Ubuntu is a very popular
>> distribution, and the 18.04 LTS is still widely supported by most projects.
>> Whilst Ubuntu 20.04 has been released for a couple of months, it's going to
>> be a while until everyone has updated. In fact, it isn't yet *officially
>> supported* to upgrade from 18.04 to 20.04, as you have to wait for the
>> first point release for that, due in August. So as far as Canonical are
>> concerned, if you installed 18.04 LTS, you should still be on that, and
>> 20.04 isn't ready for those people quite yet. That's a lot of people
>> affected who may not be following llvm-dev but will suddenly find
>> themselves in need of a custom CMake.
>>
>> I would urge people to reconsider this move. I can see the attraction of
>> moving to the latest CMake, but we've managed just fine so far, do we
>> really need to move to the latest and greatest right now? Ditching support
>> for 18.04 in a year's time would seem reasonable, but expecting everyone to
>> have moved over when it's not yet officially supported after just 3 months
>> is not, and forcing everyone on those distributions to build their own copy
>> of CMake just for LLVM is annoying (sure, I'm perfectly capable of doing
>> it, but it's still a nuisance that aggravates me). I'd suggest waiting at
>> least until 20.04.1 has been released, so waiting until the next release
>> cycle would allow that and give around 6 months for people to update, if
>> not until the release cycle after that (though that may be a harder pill
>> for some members to swallow). But we could at least bump to 3.10.2 in the
>> meantime.
>>
>> Jess
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200716/a657d6f9/attachment.html>


More information about the llvm-dev mailing list