PrincetonUniversity / VST

Verified Software Toolchain
https://vst.cs.princeton.edu
Other
425 stars 91 forks source link

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

Closed MSoegtropIMC closed 10 months 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 (2.11.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 is currently testing commit d635e62a083ad78c16548c29904c527a74f7b1e5 on repository https://github.com/PrincetonUniversity/VST - which likely means that this commit does work in Coq CI.

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

andrew-appel commented 1 year ago

Dear Coq Platform Team:

I have created a tag for VST that is probably compatible with Coq 8.17: https://github.com/PrincetonUniversity/VST/releases/tag/v2.12rc1

The only reason I say "probably" and I call it v2.12rc1 rather than just v2.12 is a small issue with continuous integration. This version works just fine on my local Ubuntu running ~8.17~2023.03+preview1. However, in my CI script, CompCert 3.12 does not build, because the standard CompCert opam is misconfigured to grab the menhir master branch rather than the appropriate menhir release branch. So I can't right now run my full CI in Coq 8.17.

In general, since the changes from CompCert 3.11 to 3.12 are extremely small (particularly at the interface important to VST); and since VST seems to build and run properly in Coq 8.17 with CompCert 3.12 on my local installation; I think it should be safe to treat VST 2.12rc1 as the actual release of VST 2.12, if you have to build a Coq Platform release now.

MSoegtropIMC commented 1 year ago

Dear Andrew thanks!

Sorry for the inconvenience with CompCert - I already discussed with Xavier to exclude menhir dev, but didn't do a PR as yet. I will do so today.

MSoegtropIMC commented 1 year ago

Dear Andrew,

in the Coq Platform context this release works fine (I created local opam packages - not yet pushed to main, though).

The CompCert PR is on the ay (https://github.com/coq/opam-coq-archive/pull/2536).

Anyway the .dev package issue will go away soon, since 8.17.0 has been released. Only for CoqIDE 8.17.0 an opam package is missing, but expected soon. I will seen do a beta release of Coq Platform, which does not drag in the extra-dev repo. Anyway, with the CompCert opam package fix, we shouldn't experience such issues in the future.

So I would suggest you create a 2.12 tag. If it helps I can do the opam packages.

Best regards,

Michael

andrew-appel commented 1 year ago

VST tag v2.12 is created. It is not exactly the same as v2.12rc1; the difference is that several Coq 8.17 deprecation warnings are fixed. @MSoegtropIMC could you create the opam packages and do whatever is necessary in the Coq Platform?

MSoegtropIMC commented 1 year ago

Thanks! I updated Coq Platform and created https://github.com/coq/opam-coq-archive/pull/2542 for the opam packages.

I will close this issue after a second PR for the 32-bit opam package.

MSoegtropIMC commented 10 months ago

I confirm that I picked 2.12 and close this issue.