Skip to content

Depext not building at all (and no hint) when no libraries field #12855

@ElectreAAS

Description

@ElectreAAS

Expected Behavior

On a simple project with a singular dependency on conf-foobar:

  $ cat > dune-project << EOF
  > (lang dune 3.20)
  > (package
  >  (name foo)
  >  (depends conf-foobar))
  > EOF

  $ cat > src/dune << EOF
  > (executable
  >  (name foo)
  >  (public_name foo))
  > EOF
No 'libraries' field here ^^

  $ cat > src/foo.ml << EOF
  > let _exit_code = Sys.command "foobar some_arg" in
  > ()
  > EOF

Assuming conf-foobar actually exists, one would expect either dune pkg lock or dune build (or both) to say something about a missing system dependency, but they don't (see reproduction PR #12857).

Actual Behavior

After the setup above, dune pkg lock correctly says "Solution for dune.lock [...] conf-foobar.0.0.1", dune build doesn't say anything, and only when we dune exec do we get "sh: line 1: foobar: command not found" and no hint!

Reproduction

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions