[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: troubleshooting problems with opam-monorepo



Hi,

> (2) what tactics should I be using to troubleshoot problems like no solver 
> solution being found for my package set, or apparently nonsensical 
> constraints being expressed?

I tend to build unikernels with only few dependencies so I don’t run
that often into broken cases and maybe others would have more
experience to share.

The last time I had to figure out why opam-monorepo could not find a
satisfiable solution it was because of lwt packages: the packages for
lwt and lwt_ppx live in the same repository but they are not always
released at the same time. Unfortunately opam-monorepo must pick only
one version to extract in the duniverse (otherwise dune would not know
which lwt and lwt_ppx to choose between the two...) but the solver
doesn’t consider that constraint when picking its solution. I think I
had figured it out (painfully…) by reviewing all the packages in the
solution out of the solver. I ended up with adding a package in the
opam-overlays to fix this [1].

Does this help you in any way? Do you want to share some details of
your use case to see whether that rings any (other) bell?

[1]: https://github.com/dune-universe/opam-overlays/pull/214

Anyway, as opam-monorepo has a few quirks like this, the goal we are
working on at Tarides is rather to contribute to the dune package
management feature to ensure it provides a much more robust solution
than opam-monorepo. In particular, it will be able to build the
versions picked up by the solver, even if they live in the same source
repository. But dune pkg is still very much WIP, I haven’t tried yet
to see how far I could go with that approach for a MirageOS.

> the current problem with OCaml 5.3.0 not being usable at all.

This is cooking right now :-) The PR [2] is usable / testable if you want.

[2]: https://github.com/mirage/ocaml-solo5/pull/148

> I think “repaving my entire laptop was the easiest way to get it to work” is 
> possibly informing my frustration with this piece of the ecosystem, maybe 
> unfairly.

:-)
(In that case again, I would be curious to see more details, as it
vaguely reminds me of metadata updates to opam packages to improve the
experience on some lesser-used Linux distributions)

Hope this helps,

-- 
Samuel



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.