Dune name resolution

I’ve been having issues with using vendored packages with dune.

Specifically I have two packages which I have cloned into the home directory of my dune project:

/
|- foo
|- bar
|- src
|- dune-project

From what I’ve read dune should look inside foo and bar for dune files which describe libraries and then use those libraries to build src, however that doesn’t appear to be happening in this case (specifically it reports an error in src/dune "foo" not found but it doesn’t report a similar error for `bar).

Hence the question: how does dune do its library resolution and what could cause it to fail in this way.

It may be that the name of the library inside foo is not actually called foo. The name of the directory is immaterial as far as dune is concerned.

Best wishes,
Nicolás

1 Like

Damn you’re right.

The name was exported correctly in the dune-project file however I had forgotten to add a public_name field in the actual dune file.

Thanks!