[ocaml-platform] OPAM -- why does it remove packages?

Trevor Smith trevorsummerssmith at gmail.com
Thu Feb 26 17:49:24 GMT 2015


Thanks all! Thomas -- your suggestion worked like a charm.

$$ opam install piqi.0.7.1 cohttp.0.15.2
[NOTE] Package piqi is already installed (current version is 0.7.1).
The following dependencies couldn't be met:
  - piqi -> piqilib -> base64 < 2.0.0
  - cohttp -> base64 >= 2.0.0
Your request can't be satisfied:
  - Conflicting version constraints for base64

No solution found, exiting

I'd suggest adding this to the FAQ. Also I wonder if the default output
could have a switch added that could show some more of that info, or
perhaps the dependency tree printed out with a given switch. Just some
thoughts.

Thanks!

Trevor

On Thu Feb 26 2015 at 11:59:28 AM Anil Madhavapeddy <anil at recoil.org> wrote:

> Another important thing to check is that you've got the aspcud external
> solver installed (via the `aspcud` binary being present).  Otherwise, the
> internal solver has some known issues around upgrade and an excessive
> tendency to remove packages unnecessarily.
>
> -anil
>
> > On 26 Feb 2015, at 16:57, Thomas Gazagnaire <thomas at gazagnaire.org>
> wrote:
> >
> > Hi,
> >
> >> I would like some help in figuring out why opam wants to remove a given
> package. What is the preferred debugging loop people use to figure out this
> sort of "package conflict" problem? I could not find anything on the
> website about this and it seems like it would be a common problem so I am
> emailing you all.
> >
> > The best way to debug this is to add version constraints to your
> queries. For instance:
> >
> > $ opam install piqi.0.7.1 cohttp.0.15.2
> >
> > The solver returns some information about the conflicts that opam tries
> to pretty print as well as possible (it's not always very clear, though,
> but usually it helps to understand what happens).
> >
> > Thomas
> >
> >>
> >> Example: I currently have piqi version 0.7.1 installed. I would like to
> install cohttp 0.15.2 with async support. When I try to do this opam wants
> to remove both piqi and piqilib.
> >>
> >> In debugging this I just sort of floundered around a bit -- I started
> by seeing if any older versions of cohttp with async work. Sure enough,
> version 0.14.0 works but 0.15.0 seems to have introduced this desire to
> remove piqi dependency. Upon further inspection, it looks like base64 2.0.0
> (a dependency of cohttp with async v 0.15.0) is what is causing opam to
> want to remove piqi. However, I could not yet find anywhere that will
> explain to me _why this is the case_.
> >>
> >> Thoughts? Thank you.
> >>
> >> Trevor
> >> _______________________________________________
> >> Platform mailing list
> >> Platform at lists.ocaml.org
> >> http://lists.ocaml.org/listinfo/platform
> >
> > _______________________________________________
> > Platform mailing list
> > Platform at lists.ocaml.org
> > http://lists.ocaml.org/listinfo/platform
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ocaml.org/pipermail/platform/attachments/20150226/13b40534/attachment.html>


More information about the Platform mailing list