tarides / opam-monorepo

Assemble dune workspaces to build your project and its dependencies as a whole

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

solver does not work when latest version of a package is not compatible with requested ocaml version

hannesm opened this issue · comments

with opam-repository at ocaml/opam-repository@c07cbf2 (lru-0.3.0-1, including the constaint ocaml {>= "5.0"}), an opam-monorepo for any MirageOS unikernel fails with:

663.918s:- lru -> (problem)
663.918s:    User requested = 0.3.0-1
663.918s:    Rejected candidates:
663.918s:      lru.0.3.0-1: Requires ocaml >= 5.0

Is this intentional? It could as well select the lru 0.3.0, which is compatible with ocaml 4.14. See full log at https://builds.robur.coop/job/traceroute/build/02fdb146-d7a7-4877-a8b3-4808418f06e1/console

Hmm, that doesn't seem intentional. I'm confused why lru.0.3.0 is not in the list of rejected packages, as it should have some reason for why it is rejected.

It might be due to the deduplication that is linked here although I feel like that would be a bug that's due to the deduplication happening too early to even know whether there would be any duplicate candidates (since as you say, it could've picked up an older version and 3.0.0-1 would be rejected anyway).