-
Notifications
You must be signed in to change notification settings - Fork 409
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
Coq cannot find the cmxs file for transitive ocaml dependencies #11012
Comments
Note also that the example provides a workaround in file
Removing the comments on the rule will fix the issue by forcing a dependency over the |
Indeed, thanks for the report, I am hoping to look into this (finally) next week. Seems like a case of missing transitive deps, the implementation of Coq plugin building didn't take into account this possibility due to technical reasons that no longer hold. But I need to look into this more carefully. So indeed, let's try to fix this case soon; I think that for now a workaround that could work is to list all the libs. |
@ejgallego is there anything I can help with here? I'm lacking context to look into this myself, but I could try if you provided some guidance for example. |
Hi @rlepigre , I hope I can allocate time to work on this soon, got hit by some unexpected stuff I had to take care of urgently :/ :/ If I am correct, the problem here is due to a missing dep for the installed .cmxs file, right? In this case, the fix should be easy (and it shouldn't have a perf impact as we already depend on the direct .cmxs). Actually we have code for both:
So I think we need to make the two parts cooperate in order to fix this issue. Code here:
So indeed, before we used to depend on all libraries but in their build dir, for example this typically was But indeed, On the other hand, the bug comes because we rely on So I'm unsure what is the best rule approximation... We have two choices:
I suggest we continue discussion on Zulip or in a visio. |
OK thanks, sounds good. |
When building Coq theories with plugins depending on OCaml libraries (everything being in a dune workspace) it seems like dune sometimes fails to place
.cmxs
files for transitive dependencies where Coq expects to find them. Since Coq relies onfindlib
, it seems like all the OCaml libraries depended on transitively by plugins should be made available in the_build/install
directory (or at least aMETA
file for them?).Here is a tarball with a minimal example of workspace that exhibits the problem: dune_bug_plugin_deps.tar.gz. It contains the following files:
To reproduce the problem, simply run:
This was tested with Coq 8.19, and dune 3.16.0.
The text was updated successfully, but these errors were encountered: