Skip to content

Dependency cycle when using glob_files to install files to bin section #6708

@NielsMommen

Description

@NielsMommen

Expected Behavior

Same behavior as listing the files explicitly without glob: the files can be installed to prefix/bin.

Actual Behavior

Dependency cycle between:
   Evaluating predicate in directory _build/default

Reproduction

  1. echo "(lang dune 3.6)\n(package (name foo))" > dune-project
  2. echo "(install (section bin) (files (glob_files *.h)))" > dune
  3. touch foo.h
  4. dune build @install

Specifications

  • Version of dune (output of dune --version): 3.6.1
  • Version of ocaml (output of ocamlc --version): 4.14.0
  • Operating system (distribution and version): macOS Montery 12.6

Additional information

  • It works when you specify foo.h explicitly instead of using a glob
  • Specifying another section (e.g. lib) instead of bin works
  • Using include include.sexp where include.sexp contains ("foo.h") or using a rule to generate include.sexp produces the same dependency cycle error

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions