Skip to content

Dune 3.21.0 crashes and hangs with "Dependency cycle between ..." #13500

@nojb

Description

@nojb

Error message (repro below):

Error: Dependency cycle between:
   _build/default/js_of_ocaml/compiler/bin-js_of_ocaml/install-in-share.sexp
-> Computing installable artifacts for package yojson-five
-> %{lib:ppxlib.ast:ast.ml} at ppxlib/src/dune:32
-> _build/default/ppxlib/src/ast_pattern_generated.ml
-> _build/default/ppxlib/src/.ppxlib.objs/ppxlib__Ast_pattern_generated.impl.d
-> _build/default/ppxlib/src/.ppxlib.objs/ppxlib__Ast_pattern_generated.impl.all-deps
-> _build/default/ppxlib/src/.ppxlib.objs/ppxlib__Ast_pattern.intf.all-deps
-> _build/default/ppxlib/src/.ppxlib.objs/ppxlib.impl.all-deps
-> _build/default/ppxlib/src/.ppxlib.objs/byte/ppxlib.cmi
-> _build/default/ppxlib/src/.ppxlib.objs/native/ppxlib.cmx
-> _build/default/.ppx/64cf5d61f2a2476b17e06d5599aa127f/dune__exe___ppx.cmx
-> _build/default/.ppx/64cf5d61f2a2476b17e06d5599aa127f/ppx.exe
-> _build/default/js_of_ocaml/compiler/lib/annot_lexer.pp.mli
-> _build/default/js_of_ocaml/compiler/lib/.js_of_ocaml_compiler.objs/byte/js_of_ocaml_compiler__Annot_lexer.cmi
-> _build/default/js_of_ocaml/compiler/lib/.js_of_ocaml_compiler.objs/native/js_of_ocaml_compiler__Annot_lexer.cmx
-> _build/default/js_of_ocaml/compiler/lib/js_of_ocaml_compiler.a
-> _build/default/js_of_ocaml/compiler/bin-js_of_ocaml/js_of_ocaml.exe
-> _build/default/js_of_ocaml/compiler/bin-js_of_ocaml/cmdliner-support/share
-> %{deps} at js_of_ocaml/compiler/bin-js_of_ocaml/dune:56
-> _build/default/js_of_ocaml/compiler/bin-js_of_ocaml/install-in-share.sexp
-> required by Computing installable artifacts for package gen
-> required by _build/default/gen/gen.install
-> required by alias gen/install

Repro: execute the following shell script in an empty directory

#!/bin/sh

git clone --depth 1 https://github.com/c-cube/gen
git clone --depth 1 https://github.com/ocsigen/js_of_ocaml
git clone --depth 1 https://gitlab.inria.fr/fpottier/menhir
git clone --depth 1 https://github.com/janestreet/ocaml-compiler-libs
git clone --depth 1 https://github.com/ocaml-ppx/ppx_derivers
git clone -b 0.37.0 https://github.com/ocaml-ppx/ppxlib
git clone --depth 1 https://github.com/ocaml-community/sedlex
git clone --depth 1 https://github.com/c-cube/seq
git clone -b v0.17.0 https://github.com/janestreet/sexplib0
git clone --depth 1 https://github.com/ocaml-community/yojson

touch dune-workspace

dune build @install

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