coq-community / docker-coq

Docker images of the Coq proof assistant (see also: https://github.com/coq-community/docker-coq-action) [maintainers=@erikmd,@himito]

Home Page:https://hub.docker.com/r/coqorg/coq/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tag request: `8.11 ≤ coq ≤ 8.12` without `coq-native`

liyishuai opened this issue · comments

coq-native breaks several packages like SimpleIO, QuickChick, Parsec, JSON, ITreeIO, AsyncTest, HTTP. I hope to test these packages without it.

Hi @liyishuai, thanks for your feedback!

I indeed confirm the choice had been to bundle coq-native with docker-coq∈[8.5; 8.12], and only make it "opt-in" for coq ≥ 8.13.

This choice had been made during CEP 48, because this impact of coq-native should be noticeable only with coq ≥ 8.13.

But maybe we should have a closer look at the issues you got. Questions:

  • Do you have some direct links to 1 or 2 GHA logs that fail, with the exact coqorg/coq:… image tag that is used?

  • if it happens the issue is that all packages you mention are not native_compute compatible, would it be easy (and would it make sense) to make some of them native_compute compatible?

Cc @proux01 @Zimmi48 @silene @maximedenes FYI

Anyway from a maintenance point of view, adding other Docker tags would be feasible of course, but in this very case, the naming convention should be adapted carefully…
but anyway, I'd be wary at first sight, to change coqorg/coq:8.12 and all earlier versions by removing coq-native completely in the default images: it would break compatibility… and at least, the principle of least surprise

I need to further analyze the compilation logs to see if coq-native is the main problem. Turning this issue to on hold.

Okay; No hurry for details about the logs!

Still (if it's easier to grep), feel free to post at some point the full tag name (coqorg/coq: _) of a problematic image that was used.

Cheers ✨

Current situation:
The packages I listed above depend on each other, and I need to either support or disable native compiler for all of them.

Attempt:
Add native compiler support by upgrading Dune.

The issue becomes:
Some packages like https://github.com/Lysxia/coq-ceres/ still support older versions of Coq, and the latest Coq stanza in Dune is incompatible with Coq < 8.10. Maybe it's Dune that needs fixing.

@liyishuai bottom line: dune doesn't work yet with coq-native, whatever the version of dune or Coq.
If you are interested in native compute, just don't use dune (yet).