[opam-devel] 'opam install' fails when it should(?) downgrade packages
David Sheets
sheets at alum.mit.edu
Thu Jul 9 11:07:28 BST 2015
On Thu, Jul 9, 2015 at 11:03 AM, Martin Lucina <martin at lucina.net> wrote:
> Hi,
>
> after reinstalling my OPAM installation that I use for working on the
> cross-compiled packages for rumprun [1], and thus updating to the latest
> OPAM upstream repository I can no longer install mirage drivers
> cross-compiled for rumprun:
>
> $ opam install mirage-console-rumprun mirage-unix-rumprun
> The following dependencies couldn't be met:
> - ipaddr-rumprun -> sexplib-rumprun -> sexplib = 112.24.01
> Your request can't be satisfied:
> - No package matches sexplib.112.24.01.
>
> The requirement for an older sexplib is expected, since my sexplib-rumprun
> package has not been updated to the latest version. However, I would expect
> 'opam install' to resolve this by downgrading sexplib and any dependencies.
>
> If I try to install the older version of sexplib manually, the result is:
>
> The following actions will be performed:
> ↘ downgrade ocamlfind 1.5.5 to 1.5.4 [required by sexplib]
> ∗ install ounit 1.1.2 [required by cstruct]
> ↘ downgrade ipaddr 2.5.0 to 1.0.0 [uses ocamlfind]
> ↘ downgrade cmdliner 0.9.7 to 0.9.5 [uses ocamlfind]
> ∗ install base-bytes base [required by ocplib-endian]
> ↻ recompile ocaml-rumprun 4.02.1 [uses ocamlfind]
> ↻ recompile camlp4 4.02+6 [uses ocamlfind]
> ↘ downgrade depext 0.6 to 0.4 [uses cmdliner]
> ↘ downgrade crunch 1.4.0 to 1.0.0 [uses ocamlfind]
> ↗ upgrade re 1.2.2 to 1.3.2 [uses ocamlfind]
> ↘ downgrade type_conv 112.01.02 to 112.01.00 [required by sexplib]
> ↻ recompile optcomp 1.6 [uses ocamlfind]
> ↻ recompile lwt 2.4.5 [uses ocamlfind]
> ↘ downgrade sexplib 112.35.00 to 112.24.01
> ↗ upgrade ocplib-endian 0.4 to 0.6 [uses ocamlfind]
> ↘ downgrade cstruct 1.6.0 to 1.2.0 [uses ocamlfind]
> ↘ downgrade io-page 1.5.1 to 1.5.0 [uses ocamlfind]
> ↘ downgrade mirage-types 2.3.0 to 2.1.1 [uses sexplib]
> ↘ downgrade mirage 2.5.0+rumprun to 2.1.1 [uses sexplib]
>
> This is not correct either; I can't see anything in the older sexplib that
> would cause all of the downgrades above, and the solution is incorrect in
> downgrading mirage from 2.5.0+rumprun to 2.1.1.
>
> How can I debug this? Is there a way to get more information from the
> dependency solver about why it is choosing the above solution?
Do you have aspcud installed? If not (or one of the other supported
external solvers), then you are using opam's approximate (and often
bad/wrong) internal solver.
David
> Thanks,
>
> Martin
>
> [1] https://github.com/mato/opam-rumprun
> _______________________________________________
> opam-devel mailing list
> opam-devel at lists.ocaml.org
> http://lists.ocaml.org/listinfo/opam-devel
More information about the opam-devel
mailing list