Skip to content
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

MDX stanza executable fails to build with (implicit_transitive_deps false) #5499

Closed
craigfe opened this issue Mar 2, 2022 · 0 comments · Fixed by #5558 or ocaml/opam-repository#21217
Assignees

Comments

@craigfe
Copy link
Contributor

craigfe commented Mar 2, 2022

Building the executable generated by the MDX stanza fails when implicit transitive dependencies are disabled due to an implicit dependency on the mdx.top library:

  $ cat >dune-project <<EOF
  > (lang dune 3.0)
  > (using mdx 0.2)
  > (implicit_transitive_deps false)
  > EOF

  $ cat >markdown_file.md <<EOF
  > ```ocaml
  > # print_endline "Hello world" ;;
  > ```
  > EOF

  $ cat >dune <<EOF
  > (mdx
  >  (files markdown_file.md))
  > EOF

  $ dune build
  File "mdx_gen.ml-gen", line 28, characters 2-19:
  28 |   Mdx_top.Directory path) []
         ^^^^^^^^^^^^^^^^^
  Error: Unbound module Mdx_top
  Hint: Did you mean Mdx_test?
  [1]

Adding mdx.top as an explicit dependency of the stanza fixes the issue:

  $ cat >dune <<EOF
  > (mdx
  >  (files markdown_file.md)
  >  (libraries mdx.top))
  > EOF

  $ dune build

CC @NathanReb.

Reproduction

Included in #5500.

Specifications

  • Version of dune (output of dune --version): 3.03
  • Version of ocaml (output of ocamlc --version): 4.10.0
  • Operating system (distribution and version): Arch Linux (5.15.12-arch1-1)
craigfe added a commit to craigfe/dune that referenced this issue Mar 2, 2022
Signed-off-by: Craig Ferguson <me@craigfe.io>
@emillon emillon self-assigned this Mar 29, 2022
emillon pushed a commit to craigfe/dune that referenced this issue Mar 29, 2022
Signed-off-by: Craig Ferguson <me@craigfe.io>
emillon pushed a commit to craigfe/dune that referenced this issue Mar 29, 2022
Signed-off-by: Craig Ferguson <me@craigfe.io>
Signed-off-by: Etienne Millon <me@emillon.org>
emillon pushed a commit that referenced this issue Mar 29, 2022
Signed-off-by: Craig Ferguson <me@craigfe.io>
Signed-off-by: Etienne Millon <me@emillon.org>
emillon added a commit to emillon/dune that referenced this issue Apr 8, 2022
Closes ocaml#5499

Signed-off-by: Etienne Millon <me@emillon.org>
emillon added a commit to emillon/dune that referenced this issue Apr 8, 2022
Closes ocaml#5499

Signed-off-by: Etienne Millon <me@emillon.org>
emillon added a commit to emillon/dune that referenced this issue Apr 11, 2022
Closes ocaml#5499

Signed-off-by: Etienne Millon <me@emillon.org>
emillon added a commit that referenced this issue Apr 12, 2022
Closes #5499

Signed-off-by: Etienne Millon <me@emillon.org>
rgrinberg added a commit to rgrinberg/opam-repository that referenced this issue Apr 15, 2022
…ne-site, dune-rpc, dune-rpc-lwt, dune-private-libs, dune-glob, dune-configurator, dune-build-info and dune-action-plugin (3.1.0)

CHANGES:

- Add `sourcehut` as an option for defining project sources in dune-project
  files. For example, `(source (sourcehut user/repo))`. (ocaml/dune#5564, @rgrinberg)

- Add `dune coq top` command for running a Coq toplevel (ocaml/dune#5457, @rlepigre)

- Fix dune exec dumping database in wrong directory (ocaml/dune#5544, @bobot)

- Always output absolute paths for locations in RPC reported diagnostics
  (ocaml/dune#5539, @rgrinberg)

- Add `(deps <deps>)` in ctype field (ocaml/dune#5346, @bobot)

- Add `(include <file>)` constructor to dependency specifications. This can be
  used to introduce dynamic dependencies (ocaml/dune#5442, @anmonteiro)

- Ensure that `dune describe` computes a transitively closed set of
  libraries (ocaml/dune#5395, @esope)

- Add direct dependencies to $ dune describe output (ocaml/dune#5412, @esope)

- Show auto-detected concurrency on Windows too (ocaml/dune#5502, @MisterDA)

- Fix operations that remove folders with absolute path. This happens when
  using esy (ocaml/dune#5507, @EduardoRFS)

- Dune will not fail if some directories are non-empty when uninstalling.
  (ocaml/dune#5543, fixes ocaml/dune#5542, @nojb)

- `coqdep` now depends only on the filesystem layout of the .v files,
  and not on their contents (ocaml/dune#5547, helps with ocaml/dune#5100, @ejgallego)

- The mdx stanza 0.2 can now be used with `(implicit_transitive_deps false)`
  (ocaml/dune#5558, fixes ocaml/dune#5499, @emillon)

- Fix missing parenthesis in printing of corresponding terminal command for
  `(with-outputs-to )` (ocaml/dune#5551, fixes ocaml/dune#5546, @Alizter)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment