Quantcast
Channel: OCaml - Topics tagged dune
Viewing all articles
Browse latest Browse all 521

[dune] The package XXX does not have any user defined stanzas attached to it

$
0
0

I just got the following error from dune when trying to build my project (named XXX):

$ dune build
Error: The package XXX does not have any user defined stanzas attached to
it. If this is intentional, add (allow_empty) to the package definition in
the dune-project file
-> required by _build/default/XXX.install
-> required by alias all
-> required by alias default

An internet search gives a single match, which has a link to Document `(allow_empty)` · Issue #5567 · ocaml/dune · GitHub but there is no answer there.

I have created the project XXX using $ dune init proj XXX as indicated in Quickstart — dune documentation, and my dune files in bin and lib are respectively

(executable
 (name XXX)
 (libraries XXX_lib))

and

(library
 (name XXX_lib))

Also, the bin directory has a file XXX.ml. Isn’t this the most standard that a project could be ? Or am I missing something ?

Edit: thanks to @nojb, I looked a bit more at my setup. I did only minimal changes compared to what dune init proj XXX preinstalls, and in particular, dune-project is the initial one (with dummy fields filled in). It turns out that the error was caused by removing (public_name xxx) from bin/dune and goes away if I add it back. I do not fully understand why: it would seem that the field public_name is useful only if public_name differs from name (see Stanza Reference — dune documentation) and that if I add it, then I should also add the field package to executable, but it turns out not to be necessary.

2 posts - 2 participants

Read full topic


Viewing all articles
Browse latest Browse all 521

Trending Articles