Jessica Clarke via llvm-dev
2020-Jul-17 00:04 UTC
[llvm-dev] Upgrading LLVM's minimum required CMake version
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, > LouisI 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
James Y Knight via llvm-dev
2020-Jul-17 01:20 UTC
[llvm-dev] Upgrading LLVM's minimum required CMake version
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 >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200716/6ffcb6e4/attachment.html>
Keane, Erich via llvm-dev
2020-Jul-17 01:24 UTC
[llvm-dev] Upgrading LLVM's minimum required CMake version
It is curious to me that we had so much push back about moving host-compiler versions, yet so little on the cmake versions. In my opinion, we need to have a unified ‘dependency age’ policy. Cmake 3.13.4 was released about 18 months ago, so unless we’re willing to move our GCC version to 8.3 JUST as easily, this seems like a horrific double standard. From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of James Y Knight via llvm-dev Sent: Thursday, July 16, 2020 6:21 PM To: Jessica Clarke <jrtc27 at jrtc27.com> Cc: llvm-dev at lists.llvm.org Subject: Re: [llvm-dev] Upgrading LLVM's minimum required CMake version 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<mailto: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<mailto:llvm-dev at lists.llvm.org>> wrote:>> On Apr 8, 2020, at 13:06, Louis Dionne <ldionne at apple.com<mailto:ldionne at apple.com>> wrote: >>> On Apr 2, 2020, at 10:19, Louis Dionne via llvm-dev <llvm-dev at lists.llvm.org<mailto: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, > LouisI 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<mailto: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/20200717/f258c03b/attachment.html>
Mehdi AMINI via llvm-dev
2020-Jul-17 01:35 UTC
[llvm-dev] Upgrading LLVM's minimum required CMake version
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>
Tom Stellard via llvm-dev
2020-Jul-17 03:25 UTC
[llvm-dev] Upgrading LLVM's minimum required CMake version
On 7/16/20 8:04 PM, Jessica Clarke via llvm-dev 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. >I think you may have a better outcome by providing feedback to Canonical/Ubuntu that you would like a newer CMake to be available. Just as an example, for Red Hat Enterprise Linux 7, when we needed a newer CMake for building LLVM, we packaged it and shipped it to customers. Yes, we had to namespace the package and call it llvm-toolset-9.0-cmake, but this seems like something Ubuntu could easily do. -Tom> Jess > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >
Shoaib Meenai via llvm-dev
2020-Jul-17 04:41 UTC
[llvm-dev] Upgrading LLVM's minimum required CMake version
I just want to be clear that we're not moving to the latest and greatest just for the sake of it (and we're in fact not moving to the latest and greatest at all, since CMake is now on 3.18). We did a careful evaluation of the features provided by newer CMake versions and the versions in various distros: http://lists.llvm.org/pipermail/llvm-dev/2020-March/140349.html is the main discussion of that, and there were some follow-ups discussing other useful features in newer versions. A build system is just like any piece of code. LLVM's build system is a complex piece of software, and that complexity is a burden for everyone. We want to move to a newer CMake version so that we can use the new features to simplify the build system and make it work better. Note in particular that 3.15 adds lots of new generator expressions which are really useful, and that would have been our ideal upgrade target, but we stuck to 3.12.4 for now because of LTS CMake version considerations. On 7/16/20, 5:05 PM, "llvm-dev on behalf of Jessica Clarke via llvm-dev" <llvm-dev-bounces at lists.llvm.org on behalf of 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://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D77740&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=xSL2Z8Pv1kbJ1QtNObh2ZtF-zEKehxxeojgGs2jeZnc&s=bFMxQg3X3_QFtYLBDkPoOquf0FCnNHC1EvD6wSnWeIA&e= >> (2) Email sent to the owners of all build slaves listed on https://urldefense.proofpoint.com/v2/url?u=http-3A__lab.llvm.org-3A8011_buildslaves&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=xSL2Z8Pv1kbJ1QtNObh2ZtF-zEKehxxeojgGs2jeZnc&s=jM2ytDUqh-ZWevvPRhD7Ktfg1p3r_0sCL0worXGcAEU&e= >> >> 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://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D78646&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=xSL2Z8Pv1kbJ1QtNObh2ZtF-zEKehxxeojgGs2jeZnc&s=w5kdP7gySQHFslcmVWs4okiRwLcGVl029T2GvvJ7HOc&e= . > > 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://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_D78648&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=xSL2Z8Pv1kbJ1QtNObh2ZtF-zEKehxxeojgGs2jeZnc&s=XwmbaKw7OJurduIeeq8AzVFxOJpq4hwNykXuHu5TvTg&e= . 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://urldefense.proofpoint.com/v2/url?u=https-3A__lists.llvm.org_cgi-2Dbin_mailman_listinfo_llvm-2Ddev&d=DwIGaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=xSL2Z8Pv1kbJ1QtNObh2ZtF-zEKehxxeojgGs2jeZnc&s=vtUgkTihaekP3GApjXM14bMX8pkhLqMFIcMX3QaLPAo&e=