Dependency cycle while boostrapping dune 3.0

It seems dune 3.0 can not be bootstrapped anymore if there is just an ocaml compiler.

I’m running ocaml configure.ml && ocaml bootstrap.ml, then declare ./dune.exe as dune by putting it first in PATH.

With 2.9 the next step is to build everything with dune build --for-release-of-packages=dune,dune-action-plugin,dune-build-info,dune-glob,dune-private-libs @install. This works because there are no extra dependencies. dune-configurator is a separate package, because it depends on csexp.

With 3.0 this can not be done because things depend on “leaf” packages such as csexp and pp, which in turn require dune for building.

Is there a way to serialize the build of dune.git again?

1 Like

You can see the steps done to build dune in opam with nothing but the ocaml compiler here:

2 Likes