coq-community / coqeal

The Coq Effective Algebra Library [maintainers=@CohenCyril,@proux01]
Other
66 stars 17 forks source link

Please create a tag for Coq 8.17 in Coq Platform 2023.03 #74

Closed MSoegtropIMC closed 1 year ago

MSoegtropIMC commented 1 year ago

The Coq team released Coq 8.17+rc1 on December 29th, 2022 and plans to release Coq 8.17.0 around March 7th, 2023. The corresponding Coq Platform release 2023.03 should be released before April 14th, 2023. It can be delayed in case of difficulties until June 30, 2023, but this should be an exception.

This issue is to inform you that to our (possibly a few days old) best knowledge the latest released version of your project (1.1.1) does not work with Coq 8.17+rc1. We tried to remove version restrictions in opam files and possibly make or configure files, but this did not suffice.

Please note that in Coq Platform CI (unlike Coq CI) we test only released / tagged versions. Coq CI appears to test this project, but has some special handling for your project which makes it difficult to retrieve the commit it tests for your project.

Could you please create a tag and opam package, or communicate us any existing tag that works with Coq branch v8.17, preferably before March 21st, 2023? In case we might have to delay the Coq Platform release cause of issues with your project, we would prefer to be informed about the situation as early as possible.

In case the tag and opam package are available before March 21st, 2023, it will be included in an early Coq Platform beta release of the for Coq 8.17+rc1.

The working branch of Coq Platform, can be found here main. It contains package pick ~8.17~2023.03+preview1 which already supports Coq version 8.17+rc1 and contains already working (possibly patched / commit pinned) Coq Platform packages.

Please don't close this issue, even after creating the new tag and/or opam package. We will close the issue after updating Coq Platform. This is a measure of 'double book keeping' in order to avoid that we ship the wrong version.

In any case, Coq Platform won't be released before this issue is closed!

Thanks!

P.S.: this issue has been created automatically based on CI status.

CC: https://github.com/coq/platform/issues/335

proux01 commented 1 year ago

@MSoegtropIMC coq-coqeal.1.1.1 compiles fine with Coq 8.17 (tested only yesterday, sorry for the delay, this was waiting for the release of coq-real-closed.1.1.4)

MSoegtropIMC commented 1 year ago

Indeed I don't adjust my messages to the case that a prerequisite does not compile ... I recheck.

MSoegtropIMC commented 1 year ago

After updating coq-mathcomp-real-closed to version 1.1.4, coq-coqeal 1.1.1 indeed compiles fine.

I take your above comment as conformation that this is the version you want in Coq Platform 2023.03 (if not or you change your mind later, please reopen).

MSoegtropIMC commented 1 year ago

@proux01 : coq-coqeal 1.1.1 compiles fine, but I have issues with the agreed on "smoke test kit" file, which is:

refinements/examples/irred.v

It fails with:

File "./irred.v", line 83, characters 0-41:
Error: The default value for hint locality is currently "local" in a section
and "global" otherwise, but is scheduled to change in a future release. For
the time being, adding hints outside of sections without specifying an
explicit locality attribute is therefore deprecated. It is recommended to use
"export" whenever possible. Use the attributes #[local], #[global] and
#[export] depending on your choice. For example: "#[export] Hint Unfold foo :
bar." [deprecated-hint-without-locality,deprecated]

Can you please have a look?

Having files in a folder named "examples" which don't compile can leave a very bad impression on first time users, so I would recommend to test this in your CI.

proux01 commented 1 year ago

@MSoegtropIMC the file is actually compiled fine along with CoqEAL in the CI, but with options in the _CoqProject which include:

-arg -w -arg -deprecated-hint-without-locality

How do you compile the smoke test? Should I do a new release without that compilation option? (that might be the best solution)

MSoegtropIMC commented 1 year ago

I can give options in the smoke test, but up to now I did not use this to disable warnings. It is currently used for HoTT and Unimath to give -noinit -indices-matter and for 32 bit CompCert and VST to drag in installations from the non standard folders the 32 bit versions end up in.

I think for users things get tricky when examples only compile with (to non experts) non obvious command line parameters, so I try to avoid this as much as possible and prefer if users can just open a file in an IDE without caring for _CoqProject files - it should be sufficient that the respective package is installed via opam.

So IMHO it would be better to fix these warnings rather than to disable them. Likely in 8.18 you anyway have to fix it.

proux01 commented 1 year ago

I agree, so I just released a 1.1.2 for which the smoke test compiles without any specific option on Coq 8.17: https://github.com/coq/opam-coq-archive/pull/2502

MSoegtropIMC commented 1 year ago

Perfect, thanks - especially for the quick work!

MSoegtropIMC commented 1 year ago

Thanks! I updated the 2023.03 preview pick to version 1.1.2 and close this issue.