Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Framework: Some build configurations may not work with CMake 3.10.x #8387

Closed
william76 opened this issue Nov 24, 2020 · 9 comments
Closed

Framework: Some build configurations may not work with CMake 3.10.x #8387

william76 opened this issue Nov 24, 2020 · 9 comments
Assignees
Labels
PA: Framework Issues that fall under the Trilinos Framework Product Area type: bug The primary issue is a bug in Trilinos code or tests

Comments

@william76
Copy link
Contributor

Bug Report

@trilinos/framework

Description

When I was working on the PR driver code recently I had noticed that Trilinos' CMake indicates a minimum required version of 10.0.0 so I set all the builds to use CMake 10.0.3, which is the only 10.x version provided by SEMS modules. This resulted in a failure in the GCC 8.3.0 build.

In a discussion of this during our Framework stand-up meeting @ZUUL42 mentioned that he had run into this too and had set the CMake for that to the highest one SEMS provides (3.17.x) and it worked.

I changed the version in our configuration to use the 3.12.x SEMS one and that worked so I pushed that on up.

This brings up an issue though. If we have CMake set to require 3.10.0 as the minimum version but we have a build that does not work with CMake 3.10.x then either:

  1. The minimum required version in the top-level CMakeLists.txt file is wrong and should be changed to a higher version.
  2. There is a bug somewhere in our CMake scripts that has broken our minimum version requirement and needs to be fixed to bring our CMake back in-line with the stated minimum requirement of 3.10.0.

I'm filing this issue so we can track it. I think we need some further experimentation to confirm this and then we should decide what to do re: minimum requirement for CMake.

FYI:

@jwillenbring
@prwolfe
@ZUUL42
@crtrott
@bartlettroscoe
@mmwolf

@william76 william76 added type: bug The primary issue is a bug in Trilinos code or tests PA: Framework Issues that fall under the Trilinos Framework Product Area labels Nov 24, 2020
@william76 william76 self-assigned this Nov 24, 2020
@william76 william76 changed the title PackageName: General Summary of the Bug Framework: Some build configurations may not work with CMake 3.10.x Nov 24, 2020
@bartlettroscoe
Copy link
Member

When I was working on the PR driver code recently I had noticed that Trilinos' CMake indicates a minimum required version of 10.0.0 so I set all the builds to use CMake 10.0.3, which is the only 10.x version provided by SEMS modules.

@william76, you mean "CMake 3.10.0" and not "CMake 10.0.3", correct?

This resulted in a failure in the GCC 8.3.0 build.

What was the nature of this failure? Can you provide more details on that?

@william76
Copy link
Contributor Author

william76 commented Nov 24, 2020

@bartlettroscoe

@william76, you mean "CMake 3.10.0" and not "CMake 10.0.3", correct?

I mean that in our CMakeLists.txt file the set minimum required version of CMake is 3.10.0 and that the closest to that we have available on the build farm is the sems-cmake/3.10.3 module.

What was the nature of this failure? Can you provide more details on that?

I don't remember it. It was buried in the initial PR that we had to get that stuff in place. The PR itself had about 200 comments on it from the review that @jmgate did for us.

I'm planning to set up a PR that sets that version back down to use sems-cmake/3.10.3, which will get us a result and I can link it in here.

@bartlettroscoe
Copy link
Member

I mean that in our CMakeLists.txt file the set minimum required version of CMake is 3.10.0 and that the closest to that we have available on the build farm is the sems-cmake/3.10.3 module.

@william76, I doubt there is a big difference between CMake 3.10.3 vs. CMake 3.10.0 that would break things. But changing Trilinos/CMakeLists.txt to require CMake 3.10.3 upgrading from 3.10.0 should be fine and I don't think anyone would have a problem with that.

I was just saying that there is no such things as "CMake 10.0.3" as the latest release is just CMake 3.19.

@william76
Copy link
Contributor Author

william76 commented Nov 26, 2020

@william76, I doubt there is a big difference between CMake 3.10.3 vs. CMake 3.10.0 that would break things. But changing Trilinos/CMakeLists.txt to require CMake 3.10.3 upgrading from 3.10.0 should be fine and I don't think anyone would have a problem with that.

@bartlettroscoe 3.10.3 vs. 3.10.0 isn't what I am talking about at all. The problem is that we have a build that will not build with CMake 3.10.x, but it will build with 3.12 (I don't have a 3.11 to test so /shrug 3.12 is the lowest version above 3.10.x that we have on our systems).

The problem is that the top level CMakeLists.txt file indicates 3.10 as the minimum required... but if we have a build that must use something newer than that then either there is something wrong going on with that build or we need to increase the minimum required version.

I put PR #8392 in to trigger the autotester. I changed all the builds that use SEMS cmake to use the 10.0.3 version so we can see which builds fail... maybe they'll all work... but @ZUUL42 and I have had this experience where we get failures without a newer CMake. /shrug

@bartlettroscoe
Copy link
Member

The problem is that the top level CMakeLists.txt file indicates 3.10 as the minimum required ... but if we have a build that must use something newer than that then either there is something wrong going on with that build or we need to increase the minimum required version.

@william76, if it were my decision, I would not spend too much time agonizing about this. I would just use a higher version of CMake for that one PR build and move on. My guess is that almost every Trilinos user is already using a version of CMake 3.12 or newer anyway. And there are some PR builds that are using CMake 3.10.2? If so, that is likely good enough until we have to bump the version of CMake to 3.13+ anyway as per:

@william76
Copy link
Contributor Author

Related to #7382

@william76
Copy link
Contributor Author

With the plan to update the minimum to 3.17.0 on January 31st, this issue can be closed out.

@william76
Copy link
Contributor Author

Note: Superceded by #8401

@bartlettroscoe
Copy link
Member

Related to:

  • SEPW-213

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PA: Framework Issues that fall under the Trilinos Framework Product Area type: bug The primary issue is a bug in Trilinos code or tests
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants