ocaml / opam

opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
https://opam.ocaml.org
Other
1.23k stars 351 forks source link

depopts constraints not respected #244

Closed avsm closed 11 years ago

avsm commented 11 years ago

From a fresh OPAM, cohttp has a depopts constraint on an older version of Async, but this isn't respected for installation:

$ opam install dns cohttp ssl  async
The following actions will be performed:
 - install ocamlfind.1.3.3
 - install cryptokit.1.6
 - install cstruct.0.5.1
 - install ounit.1.1.2
 - install re.1.1.0
 - install res.3.2.0
 - install ssl.0.4.6
 - install type_conv.108.07.01
 - install uri.1.3.2
 - install bin_prot.108.07.01
 - install comparelib.108.07.01
 - install fieldslib.108.07.01
 - install pa_ounit.108.07.01
 - install pipebang.108.07.01
 - install sexplib.108.07.01
 - install variantslib.108.07.01
 - install cohttp.0.9.2
 - install dns.0.5.1
 - install core.108.07.01
 - install async_core.108.07.01
 - install async_unix.108.07.01
 - install async_extra.108.07.01
 - install async.108.07.01

Note the async.108.07.01 which should be async.108.00.02

samoht commented 11 years ago

Currently, depopts constraints are not really "constraints"; they are used by the system to know which packages to recompile when new packages are installed, but it much more difficult to really use themin the constraint solver. The only solution to this is to find a nice encoding of depots into depends, which should be possible but I don't know yet how to do. See #200. So I'm closing this issue as it is a duplicate of previous discussions (even if the issue is still open)