ocaml / ocaml/dune

Dune does not rerun coqdep if filesystem layout changes

Open
#6,149 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

rocq
Dominant language
OCaml
Stars
1.9k
Forks
500
Avg merge
15h 21m
Merged PRs (30d)
277

Description

@ejgallego writes:

as in principle dune should reinvoke coqdep if the filesystem layout changes

But this does not appear to be true — at least in dune 3.1.1 which has the latest relevant changes.
We have a From bedrock Require Import bytestring., added bedrock.auto.cpp.elpi.bytestring, and the coq_makefile build resolved the Require to the new file (and failed) while the dune build didn't notice the failure.

This is part of #6145, but I extracted it because it's IMHO a separate (and worse) bug, and the workaround suggested in #6145 doesn't work here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported filesystem-layout change with Dune 3.1.1, using the From bedrock Require Import bytestring. case and the added bedrock.auto.cpp.elpi.bytestring. Compare Dune's behavior with the coq_makefile build; done means Dune reruns coqdep and detects the resulting failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.