-
Notifications
You must be signed in to change notification settings - Fork 640
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
[configure] Check for OCaml 5.0 in configure. #16997
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IINM, this will make ./configure
fail if run with the default options, forcing an explicit -native-compiler no
when building with OCaml 5. What if, instead, the default was set to no if the option is not provided and OCaml 5 is used?
In any case, the changelog entry should clarify what the behavior is.
I was indeed aware of this, and I choose the current behavior on purpose, to make users to realize that the default doesn't work on OCaml 5.0 so they have to disable native explicitly. IMHO if we change the default, it should be changed also for OCaml 4.x, it seems a bit weird to have different defaults depending on the OCaml version that is in scope. WDYT? I'll improve the changelog once we agree on this. |
I feel like configure picking the "best" available default is reasonable. |
I also feel that way, but I would also be fine with the solution of changing the default to |
I think the current solution still has the advantage that we don't introduce a change of behavior from Coq's previous releases. IMHO, this is the best scenario for users from a UI perspective; no changes to how |
While not being fond of this solution, I won't oppose it. In any case, most users will not be affected, whatever choice we make. |
Yes, I wonder how the "principle of least surprise" would manifest here as indeed it is not clear to me what users expect when calling I'm also not opposed to tweaking this, these little details are indeed annoying. |
1ed22f9
to
299b871
Compare
Anyways I've been lazy and after improving the changelog, I've opted for the solution that required me to touch less code in the end :) |
Feel free to push and do differently if you folks wish. |
In the currently chosen solution, will |
Yes, |
@coqbot run full ci |
Note that But that's unrelated to this PR; unfortunately the best we can do is to ignore these warnings (about |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still disagree that configure should error by default.
I don't care if we change the default for all ocaml or just when 5.0 is detected.
I'm looking into fixing this PR to change the default behavior to |
This gives us a more consistent behavior.
306e1f8
to
a7797c5
Compare
@coqbot run full CI |
Done. I'm convinced that this was the right thing to do. |
I'm fine with it, and I can see why having configure fail by default in 5.x is annoying, tho for me Coq + 5.x support is still very experimental. The advantage is that this choice of UI did make the users notice of the change. Note however that this is will have all devs and users that still call configure to build Coq have their defaults changed under the hood, silently, so at least let me warn Nix maintainers and @JasonGross so they can update their build scripts to set native explicitly. |
a7797c5
to
e81bc4d
Compare
Well, that's release notes / changelogs are for, and packagers should really read those (especially the "infrastructure and dependencies" part). Maybe we can also put this in the release highlights (together with OCaml 5 compatibility). With respect to the Nix packaging, there were already issues with native compute (see NixOS/nixpkgs#34657), so having it off by default will probably be a good thing anyway (but it indeed should get an argument so that users can override the default). cc @vbgl |
Indeed @Zimmi48 ! Actually I was thinking more of people that package master / etc... and indeed are often bit by our build changes, we don't have a good system to signal them other than well, signal them. Maybe a Zulip channel could be created for packagers, but not sure we have enougth critical mass (or maybe we do ?) |
Maybe we do indeed. This Zulip channel doesn't seem like a bad idea to me. |
Regarding users beyond packagers, fortunately they are rarely calling configure directly, so they should be mostly unaffected. |
You'd be surprised at the stuff long-term users still do; I know first hand because I helped clean such setup many times! But indeed, not really relevant to this change. |
e81bc4d
to
b642835
Compare
This PR is ready. It already had a full CI run. The last force-push is to fix a stupid mistake in the changelog. @SkySkimmer Would you approve / merge when you are available? |
@coqbot merge now |
No description provided.