-
Notifications
You must be signed in to change notification settings - Fork 414
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
Can't find Coq plugin cmxs on loadpath error #7893
Comments
Thanks a lot for the reproduction instructions @palmskog , for the sake to be sure what the problem is, can you confirm that the Can you also post the contents of the |
For the first confirmation: $ ls ~/.opam/4.14.1+flambda+coq.8.16/lib/coq/user-contrib/Equations/
CoreTactics.glob CoreTactics.v CoreTactics.vo equations_plugin.cmxs Init.glob Init.v Init.vo Prop Signature.glob Signature.v Signature.vo Type For the contents of
|
Thanks @palmskog , that's the succesful run with the [I correctly see |
@ejgallego you're right, my mistake, here is the erroring log with
|
I looked at the code that should add the |
@Alizter a |
Bug confirmed by printing the list of inferred coqpaths:
|
The scanning code seems pretty bogus, first bug is:
The latter condition makes indeed us to scan all files as they contain a dot (examples: Once we disable that, there are quite a few additional bugs:
I've exhausted my time bugdet for this for today, but that should provide a lead on the fix. |
I did produce a fix in the end, see new PR. |
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. TODO: - changelog - new test cases [installed plugin] - figure out why old test-cases were not catching `Coq_lib.Legacy.vo` always returning the empty list.
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. TODO: - changelog - new test cases [installed plugin] - figure out why old test-cases were not catching `Coq_lib.Legacy.vo` always returning the empty list.
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. TODO: - changelog - new test cases [installed plugin] - figure out why old test-cases were not catching `Coq_lib.Legacy.vo` always returning the empty list. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes #7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes ocaml#7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org>
The old code did indeed was nonsense, and among others was filtering all the files due to the `String.contains d '.'` condition. I wonder how the test for updating a file in user-contrib did pass tho, that seems pretty strange, as indeed we were not adding any .vo file to the .vo file list on the user-contrib deps, so this deserves more investigation. Fixes #7893 , thanks to Karl Palmskog for testing and detailed report. Signed-off-by: Emilio Jesus Gallego Arias <e+git@x80.org> Co-authored-by: Emilio Jesus Gallego Arias <e+git@x80.org>
CHANGES: - Switch back to threaded console for all systems; fix unresponsive console on Windows (ocaml/dune#7906, @nojb) - Respect `-p` / `--only-packages` for `melange.emit` artifacts (ocaml/dune#7849, @anmonteiro) - Fix scanning of Coq installed files (@ejgallego, reported by @palmskog, ocaml/dune#7895 , fixes ocaml/dune#7893) - Fix RPC buffer corruption issues due to multi threading. This issue was only reproducible with large RPC payloads (ocaml/dune#7418) - Fix printing errors from excerpts whenever character offsets span multiple lines (ocaml/dune#7950, fixes ocaml/dune#7905, @rgrinberg)
Expected Behavior
When I create a
dune-project
anddune
file for a Coq project with Dune 3.8 and depend on a Coq plugin installed via coq_makefile like Equations, it should suffice to add(theories Equations)
into(coq.theory ...)
to enable compilation of the project.Actual Behavior
When I run
dune build
, I get the following error:Reproduction
dune-project
file like the following:dune
file like the following:Eqn.v
or other.v
file like the following:dune build
, get the following error:Note that the error disappears if
;(plugins coq-equations)
indune
is uncommented.Specifications
dune
(output ofdune --version
): 3.8.0ocaml
(output ofocamlc --version
): 4.14.1Additional information
This bug report was submitted at the suggestion of @ejgallego.
The text was updated successfully, but these errors were encountered: