opam icon indicating copy to clipboard operation
opam copied to clipboard

Unhelpful conflict messages

Open kit-ty-kate opened this issue 3 years ago • 23 comments

*** Please add your unhelpful conflict message to this discussion ***


While trying to install expect.0.0.6 on OCaml 4.12:

[ERROR] Package conflict!
No solution found, exiting
  * No agreement on the version of ocaml:
    - (invariant) -> ocaml-variants = 4.12.0+trunk -> ocaml >= 4.12.0
    - expect >= 0.0.6 -> batteries -> ocaml < 4.00.0
    You can temporarily relax the switch invariant with `--update-invariant'

I would have expected:

    - expect >= 0.0.6 -> batteries -> ocaml < 4.12.0

as the latest version of batteries indicates.

kit-ty-kate avatar Sep 24 '20 15:09 kit-ty-kate

Similar here for ppx_expect.v0.14.0:

[ERROR] Package conflict!
No solution found, exiting
  * No agreement on the version of ocaml:
    - (invariant) -> ocaml-variants = 4.12.0+trunk -> ocaml >= 4.12.0
    - ppx_expect >= v0.14.0 -> ppxlib >= 0.11.0 -> ocaml < 4.10.0
    You can temporarily relax the switch invariant with `--update-invariant'

I would have expected an extra step:

    - ppx_expect >= v0.14.0 -> ppxlib >= 0.11.0 -> ocaml-migrate-parsetree >= 2.0.0 -> ocaml < 4.12

kit-ty-kate avatar Sep 24 '20 15:09 kit-ty-kate

Ok, I see what's happening, we just need to refine how information is filtered out. Here is the message with more info and less filtering:

  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.07)
    You can temporarily relax the switch invariant with `--update-invariant'
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.07+2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.08.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.08.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.09.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.09.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.10.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.10.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.10.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.11.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.12.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.5.0) → ocaml < 4.01.0 (ocaml.4.00.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.5.0) → ocaml < 4.01.0 (ocaml.4.00.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.1.0) → ocaml < 4.02.0 (ocaml.4.01.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.3.0) → ocaml < 4.03.0 (ocaml.4.02.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.3.0) → ocaml < 4.03.0 (ocaml.4.02.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.3.0) → ocaml < 4.03.0 (ocaml.4.02.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.3.0) → ocaml < 4.03.0 (ocaml.4.02.3)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.8.0) → ocaml < 4.07.0 (ocaml.4.06.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.8.0) → ocaml < 4.07.0 (ocaml.4.06.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.9.0) → ocaml < 4.08.0 (ocaml.4.07.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.10.0) → ocaml < 4.10.0 (ocaml.4.08.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.10.0) → ocaml < 4.10.0 (ocaml.4.09.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.10.0) → ocaml < 4.10.0 (ocaml.4.09.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.3.1.0) → ocaml < 4.12.0 (ocaml.4.11.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.3.1.0) → ocaml < 4.12.0 (ocaml.4.11.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.3.1.0) → ocaml < 4.12.0 (ocaml.4.11.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.07+1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.08.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.08.3)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.08.4)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.09.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.09.3)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.11.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.11.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.1.4.3) → ocaml < 4.00.0 (ocaml.3.12.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.5.2) → ocaml < 4.04.0 (ocaml.4.03.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.5.3) → ocaml < 4.05.0 (ocaml.4.04.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.5.3) → ocaml < 4.05.0 (ocaml.4.04.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.5.3) → ocaml < 4.05.0 (ocaml.4.04.2)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.7.0) → ocaml < 4.06.0 (ocaml.4.05.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.9.0) → ocaml < 4.08.0 (ocaml.4.07.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.2.10.0) → ocaml < 4.10.0 (ocaml.4.08.1)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.3.0.0) → ocaml < 4.11.0 (ocaml.4.10.0)
  * No agreement on the version of ocaml:
    - (invariant) → ocaml >= 4.12.0 (ocaml.4.12.0)
    - batteries (batteries.3.0.0) → ocaml < 4.11.0 (ocaml.4.10.1)

Obviously in this case we should have been able to merge all the chains rather than just use one...

AltGr avatar Oct 13 '20 11:10 AltGr

I have another really surprising and different one here:

$ opam switch show
4.12
$ opam install gen_js_api.1.0.6
[ERROR] Package conflict!
Sorry, no solution found: there seems to be a problem with your request.

No solution found, exiting

kit-ty-kate avatar Nov 07 '20 23:11 kit-ty-kate

Could this be added to the next beta3 milestone btw? I really need it for my work on the upcoming OCaml 4.12.

kit-ty-kate avatar Nov 07 '20 23:11 kit-ty-kate

Here is another example of a package that fails without any messages like gen_js_api.1.0.6 above:

http://check.ocamllabs.io:8080/log/1610649046-de897adf36c4230dfea812f40c98223b31c4521a/4.12/not-available/pgocaml_ppx.4.2.2

kit-ty-kate avatar Jan 15 '21 09:01 kit-ty-kate

Actually, the empty conflict message problem looks like the bug in dose 6.0 I fixed here: https://github.com/ocaml/opam/pull/4515#issuecomment-771935504 A similar code path also exists in 5.0.1 so I believe this might be the problem.

kit-ty-kate avatar Feb 02 '21 20:02 kit-ty-kate

More testing with dose 5.0.1:

opam@22cdd2d0a793:~$ opam-2.0 install pgocaml_ppx.4.2.2
The following dependencies couldn't be met:
  - pgocaml_ppx -> ocaml-migrate-parsetree < 2.0.0 -> ocaml < 4.13
      base of this switch (use `--unlock-base' to force)
  - pgocaml_ppx -> ocaml-migrate-parsetree < 2.0.0 -> dune < 2.0 -> ocaml < 4.12
      base of this switch (use `--unlock-base' to force)

No solution found, exiting
opam@22cdd2d0a793:~$ opam-2.1 install pgocaml_ppx.4.2.2
[ERROR] Package conflict!
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 -> ocaml-migrate-parsetree < 2.0.0 -> ocaml-variants = 4.08.0+beta2
    not available because the package is pinned to version 4.13.0+trunk
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 -> ocaml-migrate-parsetree < 2.0.0 -> ocaml-variants = 4.08.0+beta3
    not available because the package is pinned to version 4.13.0+trunk

No solution found, exiting

Switching to master with dose 7.0.0, there seems to be no differences with opam 2.1:

$ opam --version
2.2.0~alpha~dev
$ opam install pgocaml_ppx.4.2.2
[ERROR] Package conflict!
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 -> ocaml-migrate-parsetree < 2.0.0 -> ocaml-variants = 4.08.0+beta2
    not available because the package is pinned to version 4.13.0+trunk
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 -> ocaml-migrate-parsetree < 2.0.0 -> ocaml-variants = 4.08.0+beta3
    not available because the package is pinned to version 4.13.0+trunk

No solution found, exiting

I also tested on a macOS/arm64 with dose 7.0.0 and it seems that the constraint solver does not like having "available constraints" in the compiler packages:

$ opam install pgocaml_ppx.4.2.2
[ERROR] Package conflict!
  * No agreement on the version of ocaml:
    - (invariant) → ocaml-variants = 4.13.0+trunk → ocaml = 4.13.0
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.11
    You can temporarily relax the switch invariant with `--update-invariant'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler < 3.07+1 | ocaml-system
      < 3.07+1 | ocaml-variants < 3.8~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions: 'sys-ocaml-version = "3.07"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.07+1 | ocaml-system
      = 3.07+1 | ocaml-variants < 3.8~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions: 'sys-ocaml-version = "3.07+1"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.07+2 | ocaml-system
      = 3.07+2 | ocaml-variants < 3.8~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions: 'sys-ocaml-version = "3.07+2"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.08.0 | ocaml-system
      >= 3.08.0 | ocaml-variants < 3.08.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.0"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.08.1 | ocaml-system
      >= 3.08.1 | ocaml-variants < 3.08.2~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.1"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.08.2 | ocaml-system
      >= 3.08.2 | ocaml-variants < 3.08.3~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.2"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.08.3 | ocaml-system
      >= 3.08.3 | ocaml-variants < 3.08.4~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.3"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.08.4 | ocaml-system
      >= 3.08.4 | ocaml-variants < 3.08.5~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.08.4"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.09.0 | ocaml-system
      >= 3.09.0 | ocaml-variants < 3.09.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.0"'
    no matching version
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.09.1 | ocaml-system
      >= 3.09.1 | ocaml-variants < 3.09.2~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.1"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.09.2 | ocaml-system
      >= 3.09.2 | ocaml-variants < 3.09.3~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.2"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.09.3 | ocaml-system
      >= 3.09.3 | ocaml-variants < 3.09.4~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.09.3"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.10.0 | ocaml-system
      >= 3.10.0 | ocaml-variants < 3.10.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.10.0"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.10.1 | ocaml-system
      >= 3.10.1 | ocaml-variants < 3.10.2~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.10.1"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.10.2 | ocaml-system
      >= 3.10.2 | ocaml-variants < 3.10.3~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.10.2"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.11.0 | ocaml-system
      >= 3.11.0 | ocaml-variants < 3.11.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.11.0"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.11.1 | ocaml-system
      >= 3.11.1 | ocaml-variants < 3.11.2~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.11.1"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.11.2 | ocaml-system
      >= 3.11.2 | ocaml-variants < 3.11.3~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.11.2"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.12.0 | ocaml-system
      >= 3.12.0 | ocaml-variants < 3.12.1~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.12.0"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 3.12.1 | ocaml-system
      >= 3.12.1 | ocaml-variants < 3.12.2~
    unmet availability conditions: 'arch != "arm64" & arch != "arm32" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "3.12.1"'
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.00.0 | ocaml-system
      >= 4.00.0 | ocaml-variants < 4.00.1~
    unmet availability conditions: 'arch != "arm64" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.00.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.00.1 | ocaml-system
      >= 4.00.1 | ocaml-variants < 4.00.2~
    unmet availability conditions: 'arch != "arm64" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.00.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.01.0 | ocaml-system
      >= 4.01.0 | ocaml-variants < 4.01.1~
    unmet availability conditions: 'arch != "arm64" & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.01.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml = 4.02.0 → ocaml-base-compiler = 4.02.0 | ocaml-system
      >= 4.02.0 | ocaml-variants < 4.02.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64") & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.02.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.02.1 | ocaml-system
      >= 4.02.1 | ocaml-variants < 4.02.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64") & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.02.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.02.2 | ocaml-system
      >= 4.02.2 | ocaml-variants < 4.02.3~
    unmet availability conditions: '!(os = "macos" & arch = "arm64") & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.02.2"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.02.3 | ocaml-system
      >= 4.02.3 | ocaml-variants < 4.02.4~
    unmet availability conditions: '!(os = "macos" & arch = "arm64") & arch != "ppc64"'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.02.3"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.03.0 → ocaml-base-compiler = 4.02.4 | ocaml-system
      >= 4.02.4 | ocaml-variants < 4.02.5~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.04 → ocaml-base-compiler = 4.03.0 | ocaml-system
      >= 4.03.0 | ocaml-variants < 4.03.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.03.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.04 → ocaml-base-compiler = 4.03.1 | ocaml-system
      >= 4.03.1 | ocaml-variants < 4.03.2~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.05 → ocaml-base-compiler = 4.04.0 | ocaml-system
      >= 4.04.0 | ocaml-variants < 4.04.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.04.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.05 → ocaml-base-compiler = 4.04.1 | ocaml-system
      >= 4.04.1 | ocaml-variants < 4.04.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.04.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.05 → ocaml-base-compiler = 4.04.2 | ocaml-system
      >= 4.04.2 | ocaml-variants < 4.04.3~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.04.2"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.05 → ocaml-base-compiler = 4.04.3 | ocaml-system
      >= 4.04.3 | ocaml-variants < 4.04.4~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.06.0 → ocaml-base-compiler = 4.05.0 | ocaml-system
      >= 4.05.0 | ocaml-variants < 4.05.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.05.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.06.0 → ocaml-base-compiler = 4.05.1 | ocaml-system
      >= 4.05.1 | ocaml-variants < 4.05.2~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.08 → ocaml-base-compiler = 4.06.0 | ocaml-system
      >= 4.06.0 | ocaml-variants < 4.06.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.06.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.08 → ocaml-base-compiler = 4.06.1 | ocaml-system
      >= 4.06.1 | ocaml-variants < 4.06.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.06.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.08 → ocaml-base-compiler = 4.06.2 | ocaml-system
      >= 4.06.2 | ocaml-variants < 4.06.3~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.08 → ocaml-base-compiler = 4.07.0 | ocaml-system
      >= 4.07.0 | ocaml-variants < 4.07.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.07.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.08 → ocaml-base-compiler = 4.07.1 | ocaml-system
      >= 4.07.1 | ocaml-variants < 4.07.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.07.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.08 → ocaml-base-compiler = 4.07.2 | ocaml-system
      >= 4.07.2 | ocaml-variants < 4.07.3~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.10 → ocaml-base-compiler = 4.08.0 | ocaml-system
      >= 4.08.0 | ocaml-variants < 4.08.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.08.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.10 → ocaml-base-compiler = 4.08.1 | ocaml-system
      >= 4.08.1 | ocaml-variants < 4.08.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.08.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.10 → ocaml-base-compiler = 4.08.2 | ocaml-system
      >= 4.08.2 | ocaml-variants < 4.08.3~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.10 → ocaml-base-compiler = 4.09.0 | ocaml-system
      >= 4.09.0 | ocaml-variants < 4.09.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.09.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.10 → ocaml-base-compiler = 4.09.1 | ocaml-system
      >= 4.09.1 | ocaml-variants < 4.09.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.09.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.10 → ocaml-base-compiler = 4.09.2 | ocaml-system
      >= 4.09.2 | ocaml-variants < 4.09.3~
    no matching version
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.12.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.11 → ocaml-base-compiler = 4.10.0 | ocaml-system
      >= 4.10.0 | ocaml-variants < 4.10.1~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.10.0"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'
  * Missing dependency:
    - pgocaml_ppx = 4.2.2 → ppx_tools → ocaml < 4.11 → ocaml-base-compiler = 4.10.1 | ocaml-system
      >= 4.10.1 | ocaml-variants < 4.10.2~
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions, e.g. 'sys-ocaml-version = "4.10.1"'
    unmet availability conditions, e.g. '!(os = "macos" & arch = "arm64")'

No solution found, exiting

So overall the issue won't be resolved by upgrading dose. It is an endemic issue since opam 2.1 (as seen above by the clear difference between the conflict message in 2.0 and 2.1)

kit-ty-kate avatar Jul 22 '21 20:07 kit-ty-kate

Hi, currently I try to use opam.2.1.0 with a certain version of unipi available here: https://github.com/roburio/unipi/pull/4 without pin and opam shows this error:

$ git clone https://github.com/dinosaure/unipi
$ cd unipi
$ git checkout with-paf-opam
$ mirage configure
$ make depends
opam pin add -k path --no-action --yes mirage-unikernel-unipi-unix . && opam depext --yes --update mirage-unikernel-unipi-unix ; opam pin remove --no-action mirage-unikernel-unipi-unix
Package mirage-unikernel-unipi-unix does not exist, create as a NEW package? [Y/n] y
[mirage-unikernel-unipi-unix.~dev] synchronised (file:///home/dinosaure/dev/unipi)
mirage-unikernel-unipi-unix is now pinned to file:///home/dinosaure/dev/unipi (version ~dev)
opam: unknown command `depext'.
Usage: opam COMMAND ...
Try `opam --help' for more information.
Ok, mirage-unikernel-unipi-unix is no longer pinned to file:///home/dinosaure/dev/unipi (version ~dev)
opam install -y --deps-only .
[ERROR] Package conflict!
Sorry, no solution found: there seems to be a problem with your request.

No solution found, exiting
make: *** [Makefile:15 : depends] Erreur 20

So I believe that something is wrong about dependencies but I don't have any clues 😕 . Do you know an option to explain where is the error?

dinosaure avatar Sep 16 '21 16:09 dinosaure

Same issue with opam-repository at a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd and https://github.com/bikallem/resto/commit/e725f56dd2d5ca0148272d754a0f29ffe76f94e8 only gets us:

[ERROR] Package conflict!
Sorry, no solution found: there seems to be a problem with your request.
FROM ocaml/opam:debian-11-ocaml-4.12@sha256:40813dc1391636b4a428afbf0e678d2c81b80d9eade8a5214d8ee271fae155f3
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam remote set-url default git+https://github.com/ocaml/opam-repository.git#a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd
RUN opam pin add --with-version 0.6.1 git+https://github.com/bikallem/resto.git#e725f56dd2d5ca0148272d754a0f29ffe76f94e8

kit-ty-kate avatar Dec 13 '21 17:12 kit-ty-kate

The common cause of all the empty explanations seem to be:

  • a package A depends on C < 2
  • a package B conflicts on C < 2

and the user is trying to install A and B. This happens when e.g. installing alcotest.0.8.5 and mirage-nat.2.2.4 (with opam-repo at a5d7cdc0c91452b0aef4fa71c331ee5237f6dddd). In this particular case, one requires result < 1.5 and the other conflicts on results < 1.5.

However with dependencies instead of conflicts (e.g. alcotest.0.8.5 and merlin.4.2-412) opam show a conflict message without problem.

kit-ty-kate avatar Jan 05 '22 22:01 kit-ty-kate

https://github.com/ocaml/opam/pull/4982 only fixes the "empty explanations", not the "surprising conflict messages".

kit-ty-kate avatar Jan 25 '22 10:01 kit-ty-kate

#4982 only fixed some of the "empty explanations". Here one more:

$ opam install camlp5 GT ppxlib.0.25.0 --debug-level=3
[...]
00:01.904  CUDF                   resolve request=install:(GT & camlp5 & ppxlib (= 43)) remove:() upgrade:()
00:02.573  CLIENT                 conflict!
[ERROR] Package conflict!
00:02.573  CUDF                   Conflict reporting
00:02.573  CUDF                   Reasons: [
  Dependency (dose-dummy-request.???, [ppxlib=0.25.0], [ppxlib.0.25.0]);
  Conflict (ppxlib.0.18.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.24.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.25.0, ocaml-migrate-parsetree.1.6.0, ocaml-migrate-parsetree<2.0.0);
  Conflict (ppxlib.0.13.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.22.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.16.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.19.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.25.0, ocaml-migrate-parsetree.1.7.1, ocaml-migrate-parsetree<2.0.0);
  Conflict (ppxlib.0.25.0, ocaml-migrate-parsetree.1.7.2, ocaml-migrate-parsetree<2.0.0);
  Conflict (ppxlib.0.25.0, ocaml-migrate-parsetree.1.5.0, ocaml-migrate-parsetree<2.0.0);
  Conflict (ppxlib.0.25.0, ocaml-migrate-parsetree.1.7.3, ocaml-migrate-parsetree<2.0.0);
  Conflict (ppxlib.0.14.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.15.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.21.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.22.2, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.25.0, ocaml-migrate-parsetree.1.8.0, ocaml-migrate-parsetree<2.0.0);
  Conflict (ppxlib.0.21.1, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.23.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.22.1, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.12.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.17.0, ppxlib.0.25.0, ppxlib);
  Conflict (ppxlib.0.25.0, ppxlib.0.20.0, ppxlib);
  Dependency (GT.0.5.0, [ppxlib<0.25], [ppxlib.0.1.0, ppxlib.0.15.0, ppxlib.0.2.1, ppxlib.0.22.0, ppxlib.0.7.0, ppxlib.0.22.2, ppxlib.0.2.0, ppxlib.0.3.1, ppxlib.0.11.0, ppxlib.0.10.0, ppxlib.0.20.0, ppxlib.0.9.0, ppxlib.0.2.2, ppxlib.0.17.0, ppxlib.0.8.0, ppxlib.0.4.0, ppxlib.0.23.0, ppxlib.0.21.0, ppxlib.0.12.0, ppxlib.0.16.0, ppxlib.0.22.1, ppxlib.0.13.0, ppxlib.0.24.0, ppxlib.0.19.0, ppxlib.0.14.0, ppxlib.0.6.0, ppxlib.0.8.1, ppxlib.0.21.1, ppxlib.0.18.0, ppxlib.0.5.0, ppxlib.0.3.0]);
  Dependency (GT.0.4.2, [ppxlib<0.23.0], [ppxlib.0.1.0, ppxlib.0.15.0, ppxlib.0.2.1, ppxlib.0.22.0, ppxlib.0.7.0, ppxlib.0.22.2, ppxlib.0.2.0, ppxlib.0.3.1, ppxlib.0.11.0, ppxlib.0.10.0, ppxlib.0.20.0, ppxlib.0.9.0, ppxlib.0.2.2, ppxlib.0.17.0, ppxlib.0.8.0, ppxlib.0.4.0, ppxlib.0.21.0, ppxlib.0.12.0, ppxlib.0.16.0, ppxlib.0.22.1, ppxlib.0.13.0, ppxlib.0.19.0, ppxlib.0.14.0, ppxlib.0.6.0, ppxlib.0.8.1, ppxlib.0.21.1, ppxlib.0.18.0, ppxlib.0.5.0, ppxlib.0.3.0]);
  Dependency (GT.0.4.0, [ppxlib<0.21.0], [ppxlib.0.1.0, ppxlib.0.15.0, ppxlib.0.2.1, ppxlib.0.7.0, ppxlib.0.2.0, ppxlib.0.3.1, ppxlib.0.11.0, ppxlib.0.10.0, ppxlib.0.20.0, ppxlib.0.9.0, ppxlib.0.2.2, ppxlib.0.17.0, ppxlib.0.8.0, ppxlib.0.4.0, ppxlib.0.12.0, ppxlib.0.16.0, ppxlib.0.13.0, ppxlib.0.19.0, ppxlib.0.14.0, ppxlib.0.6.0, ppxlib.0.8.1, ppxlib.0.18.0, ppxlib.0.5.0, ppxlib.0.3.0]);
  Dependency (GT.0.4.1, [ppxlib<0.23.0], [ppxlib.0.1.0, ppxlib.0.15.0, ppxlib.0.2.1, ppxlib.0.22.0, ppxlib.0.7.0, ppxlib.0.22.2, ppxlib.0.2.0, ppxlib.0.3.1, ppxlib.0.11.0, ppxlib.0.10.0, ppxlib.0.20.0, ppxlib.0.9.0, ppxlib.0.2.2, ppxlib.0.17.0, ppxlib.0.8.0, ppxlib.0.4.0, ppxlib.0.21.0, ppxlib.0.12.0, ppxlib.0.16.0, ppxlib.0.22.1, ppxlib.0.13.0, ppxlib.0.19.0, ppxlib.0.14.0, ppxlib.0.6.0, ppxlib.0.8.1, ppxlib.0.21.1, ppxlib.0.18.0, ppxlib.0.5.0, ppxlib.0.3.0]);
  Dependency (dose-dummy-request.???, [GT], [GT.0.5.0, GT.0.4.1, GT.0.4.0, GT.0.4.2, GT.0.3.0]);
  Dependency (GT.0.3.0, [ocaml-migrate-parsetree<2], [ocaml-migrate-parsetree.1.8.0, ocaml-migrate-parsetree.1.1.0, ocaml-migrate-parsetree.1.0.9, ocaml-migrate-parsetree.1.7.2, ocaml-migrate-parsetree.1.0.4, ocaml-migrate-parsetree.1.3.0~4.08.0+beta3, ocaml-migrate-parsetree.1.2.0, ocaml-migrate-parsetree.1.3.0, ocaml-migrate-parsetree.1.0.8, ocaml-migrate-parsetree.1.3.0~4.08.0+beta2, ocaml-migrate-parsetree.1.0.11, ocaml-migrate-parsetree.1.6.0, ocaml-migrate-parsetree.1.7.3, ocaml-migrate-parsetree.1.0.1, ocaml-migrate-parsetree.1.0.10, ocaml-migrate-parsetree.1.7.1, ocaml-migrate-parsetree.1.0.3, ocaml-migrate-parsetree.0.6, ocaml-migrate-parsetree.1.0.7, ocaml-migrate-parsetree.1.4.0, ocaml-migrate-parsetree.1.3.1, ocaml-migrate-parsetree.1.0.6, ocaml-migrate-parsetree.1.5.0, ocaml-migrate-parsetree.1.0.2, ocaml-migrate-parsetree.0.7, ocaml-migrate-parsetree.1.0.5, ocaml-migrate-parsetree.1.0]);
  Dependency (ocaml-migrate-parsetree.1.1.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.9, [ocaml<4.07.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.4, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Missing (ocaml-migrate-parsetree.1.3.0~4.08.0+beta3, [ocaml-variants=4.08.0+beta3]);
  Dependency (ocaml-migrate-parsetree.1.2.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.3.0, [ocaml<4.09.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.8, [ocaml<4.07.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Missing (ocaml-migrate-parsetree.1.3.0~4.08.0+beta2, [ocaml-variants=4.08.0+beta2]);
  Dependency (ocaml-migrate-parsetree.1.0.11, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.1, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.10, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.3, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.0.6, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.7, [ocaml<4.07.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.4.0, [ocaml<4.10], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.3.1, [ocaml<4.09.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.6, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.2, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.0.7, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0.5, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ocaml-migrate-parsetree.1.0, [ocaml<4.06.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.03.0, ocaml.4.04.0, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.3.07, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.1.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.2.1, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.7.0, [ocaml<4.10], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.2.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.3.1, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.11.0, [ocaml<4.10.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.10.0, [ocaml<4.10.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.9.0, [ocaml<4.10.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.2.2, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.8.0, [ocaml<4.10], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.4.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.6.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.8.1, [ocaml<4.10], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.4.08.2, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.08.1, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.09.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.09.2, ocaml.4.01.0, ocaml.4.02.4, ocaml.4.09.0, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.08.0, ocaml.4.04.2, ocaml.4.02.2]);
  Missing (ocaml.4.08.0, [ocaml-base-compiler=4.08.0, ocaml-variants<4.08.1~, ocaml-system>=4.08.0]);
  Missing (ocaml.4.09.0, [ocaml-base-compiler=4.09.0, ocaml-variants<4.09.1~, ocaml-system>=4.09.0]);
  Missing (ocaml.4.09.2, [ocaml-base-compiler=4.09.2, ocaml-variants<4.09.3~, ocaml-system>=4.09.2]);
  Missing (ocaml.4.09.1, [ocaml-base-compiler=4.09.1, ocaml-variants<4.09.2~, ocaml-system>=4.09.1]);
  Missing (ocaml.4.08.1, [ocaml-base-compiler=4.08.1, ocaml-variants<4.08.2~, ocaml-system>=4.08.1]);
  Missing (ocaml.4.08.2, [ocaml-base-compiler=4.08.2, ocaml-variants<4.08.3~, ocaml-system>=4.08.2]);
  Dependency (ppxlib.0.5.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Dependency (ppxlib.0.3.0, [ocaml<4.08.0], [ocaml.3.08.2, ocaml.4.00.1, ocaml.3.11.2, ocaml.4.06.0, ocaml.4.03.0, ocaml.4.07.1, ocaml.4.04.0, ocaml.4.07.2, ocaml.3.10.2, ocaml.3.08.4, ocaml.4.02.3, ocaml.3.10.0, ocaml.4.05.0, ocaml.4.02.1, ocaml.4.03.1, ocaml.4.04.1, ocaml.3.11.0, ocaml.4.00.0, ocaml.3.09.0, ocaml.3.08.3, ocaml.3.09.3, ocaml.3.07+2, ocaml.4.01.0, ocaml.4.02.4, ocaml.3.08.1, ocaml.4.02.0, ocaml.3.12.0, ocaml.3.11.1, ocaml.3.09.2, ocaml.3.12.1, ocaml.4.06.2, ocaml.3.07, ocaml.4.07.0, ocaml.3.08.0, ocaml.3.09.1, ocaml.3.07+1, ocaml.4.05.1, ocaml.4.06.1, ocaml.4.04.3, ocaml.3.10.1, ocaml.4.04.2, ocaml.4.02.2]);
  Missing (ocaml.4.02.2, [ocaml-base-compiler=4.02.2, ocaml-variants<4.02.3~, ocaml-system>=4.02.2]);
  Missing (ocaml.4.04.2, [ocaml-base-compiler=4.04.2, ocaml-variants<4.04.3~, ocaml-system>=4.04.2]);
  Missing (ocaml.3.10.1, [ocaml-base-compiler=3.10.1, ocaml-variants<3.10.2~, ocaml-system>=3.10.1]);
  Missing (ocaml.4.04.3, [ocaml-base-compiler=4.04.3, ocaml-variants<4.04.4~, ocaml-system>=4.04.3]);
  Missing (ocaml.4.06.1, [ocaml-base-compiler=4.06.1, ocaml-variants<4.06.2~, ocaml-system>=4.06.1]);
  Missing (ocaml.4.05.1, [ocaml-base-compiler=4.05.1, ocaml-variants<4.05.2~, ocaml-system>=4.05.1]);
  Missing (ocaml.3.07+1, [ocaml-base-compiler=3.07+1, ocaml-variants<3.8~, ocaml-system=3.07+1]);
  Missing (ocaml.3.09.1, [ocaml-base-compiler=3.09.1, ocaml-variants<3.09.2~, ocaml-system>=3.09.1]);
  Missing (ocaml.3.08.0, [ocaml-base-compiler=3.08.0, ocaml-variants<3.08.1~, ocaml-system>=3.08.0]);
  Missing (ocaml.4.07.0, [ocaml-base-compiler=4.07.0, ocaml-variants<4.07.1~, ocaml-system>=4.07.0]);
  Missing (ocaml.3.07, [ocaml-base-compiler=3.07, ocaml-variants<3.8~, ocaml-system=3.07]);
  Missing (ocaml.4.06.2, [ocaml-base-compiler=4.06.2, ocaml-variants<4.06.3~, ocaml-system>=4.06.2]);
  Missing (ocaml.3.12.1, [ocaml-base-compiler=3.12.1, ocaml-variants<3.12.2~, ocaml-system>=3.12.1]);
  Missing (ocaml.3.09.2, [ocaml-base-compiler=3.09.2, ocaml-variants<3.09.3~, ocaml-system>=3.09.2]);
  Missing (ocaml.3.11.1, [ocaml-base-compiler=3.11.1, ocaml-variants<3.11.2~, ocaml-system>=3.11.1]);
  Missing (ocaml.3.12.0, [ocaml-base-compiler=3.12.0, ocaml-variants<3.12.1~, ocaml-system>=3.12.0]);
  Missing (ocaml.4.02.0, [ocaml-base-compiler=4.02.0, ocaml-variants<4.02.1~, ocaml-system>=4.02.0]);
  Missing (ocaml.3.08.1, [ocaml-base-compiler=3.08.1, ocaml-variants<3.08.2~, ocaml-system>=3.08.1]);
  Missing (ocaml.4.02.4, [ocaml-base-compiler=4.02.4, ocaml-variants<4.02.5~, ocaml-system>=4.02.4]);
  Missing (ocaml.4.01.0, [ocaml-base-compiler=4.01.0, ocaml-variants<4.01.1~, ocaml-system>=4.01.0]);
  Missing (ocaml.3.07+2, [ocaml-base-compiler=3.07+2, ocaml-variants<3.8~, ocaml-system=3.07+2]);
  Missing (ocaml.3.09.3, [ocaml-base-compiler=3.09.3, ocaml-variants<3.09.4~, ocaml-system>=3.09.3]);
  Missing (ocaml.3.08.3, [ocaml-base-compiler=3.08.3, ocaml-variants<3.08.4~, ocaml-system>=3.08.3]);
  Missing (ocaml.3.09.0, [ocaml-base-compiler=3.09.0, ocaml-variants<3.09.1~, ocaml-system>=3.09.0]);
  Missing (ocaml.4.00.0, [ocaml-base-compiler=4.00.0, ocaml-variants<4.00.1~, ocaml-system>=4.00.0]);
  Missing (ocaml.3.11.0, [ocaml-base-compiler=3.11.0, ocaml-variants<3.11.1~, ocaml-system>=3.11.0]);
  Missing (ocaml.4.04.1, [ocaml-base-compiler=4.04.1, ocaml-variants<4.04.2~, ocaml-system>=4.04.1]);
  Missing (ocaml.4.03.1, [ocaml-base-compiler=4.03.1, ocaml-variants<4.03.2~, ocaml-system>=4.03.1]);
  Missing (ocaml.4.02.1, [ocaml-base-compiler=4.02.1, ocaml-variants<4.02.2~, ocaml-system>=4.02.1]);
  Missing (ocaml.4.05.0, [ocaml-base-compiler=4.05.0, ocaml-variants<4.05.1~, ocaml-system>=4.05.0]);
  Missing (ocaml.3.10.0, [ocaml-base-compiler=3.10.0, ocaml-variants<3.10.1~, ocaml-system>=3.10.0]);
  Missing (ocaml.4.02.3, [ocaml-base-compiler=4.02.3, ocaml-variants<4.02.4~, ocaml-system>=4.02.3]);
  Missing (ocaml.3.08.4, [ocaml-base-compiler=3.08.4, ocaml-variants<3.08.5~, ocaml-system>=3.08.4]);
  Missing (ocaml.3.10.2, [ocaml-base-compiler=3.10.2, ocaml-variants<3.10.3~, ocaml-system>=3.10.2]);
  Missing (ocaml.4.07.2, [ocaml-base-compiler=4.07.2, ocaml-variants<4.07.3~, ocaml-system>=4.07.2]);
  Missing (ocaml.4.04.0, [ocaml-base-compiler=4.04.0, ocaml-variants<4.04.1~, ocaml-system>=4.04.0]);
  Missing (ocaml.4.07.1, [ocaml-base-compiler=4.07.1, ocaml-variants<4.07.2~, ocaml-system>=4.07.1]);
  Missing (ocaml.4.03.0, [ocaml-base-compiler=4.03.0, ocaml-variants<4.03.1~, ocaml-system>=4.03.0]);
  Missing (ocaml.4.06.0, [ocaml-base-compiler=4.06.0, ocaml-variants<4.06.1~, ocaml-system>=4.06.0]);
  Missing (ocaml.3.11.2, [ocaml-base-compiler=3.11.2, ocaml-variants<3.11.3~, ocaml-system>=3.11.2]);
  Missing (ocaml.3.08.2, [ocaml-base-compiler=3.08.2, ocaml-variants<3.08.3~, ocaml-system>=3.08.2]);
  Missing (ocaml.4.00.1, [ocaml-base-compiler=4.00.1, ocaml-variants<4.00.2~, ocaml-system>=4.00.1]);
]

kit-ty-kate avatar Mar 10 '22 20:03 kit-ty-kate

https://gist.github.com/avsm/30c34de7c48a0fe957dba97c9f4c9be2 has another exceptionally unhelpful message from.

opam switch create 5.0.0~alpha0
opam install dune-release

The root cause is odoc-parser requiring ocaml <5.0

avsm avatar Jun 20 '22 19:06 avsm

@avsm Could you provide the commit hash from opam-repository and your OS/architecture (from the log I’m guessing macOS/arm64 but just to double-check)

EDIT: I’m guessing the commit hash is https://github.com/ocaml/opam-repository/commit/c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a (given it would have failed during compilation of odoc-parser before otherwise)

kit-ty-kate avatar Jun 20 '22 19:06 kit-ty-kate

Sure: c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a for opam-repository and macos/arm64

avsm avatar Jun 20 '22 20:06 avsm

Command:

opam install disml

Error message:

$ opam install disml
[ERROR] Package conflict!
[ERROR] Internal error while computing conflict explanations:
        sorry about that. Please report how you got here in
        https://github.com/ocaml/opam/discussions/5130 if possible.

Command run inside a local switch

$ opam switch
#  switch                                           compiler
          description
→  <redacted>  ocaml-base-compiler.4.14.0
          <redacted>
   5.0.0+trunk                                      ocaml-variants.5.0.0+trunk
          5.0.0+trunk
   5.1.0+trunk                                      ocaml-variants.5.1.0+trunk
          5.1.0+trunk
   default                                          ocaml.4.14.0
          default

[NOTE] Current switch has been selected based on the current directory.
       The current global system switch is default.

opam config report output:

$ opam config report
# opam config report
# opam-version         2.2.0~alpha~dev (5235289e23438a9b3a44eb980cdd92f10ac96140) 
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=fedora os-version=33
# solver               builtin-mccs+glpk
# install-criteria     -removed,-count[avoid-version,changed],-count[version-lag,request],-count[version-lag,changed],-count[missing-depexts,changed],-changed
# upgrade-criteria     -removed,-count[avoid-version,changed],-count[version-lag,solution],-count[missing-depexts,changed],-new
# jobs                 3
# repositories         1 (http), 2 (version-controlled) (default repo at 3235916a)
# pinned               0
# current-switch       <redacted>
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       <redacted>_opam/lib/ocaml/stublibs:<redacted>_opam/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.14.0

opam-repository commit hash: 3235916a My pin list is empty

Same behaviour on a freshly created global switch. Surprisingly, I am able to install it on the default switch which is the same version of OCaml (however it's listed as ocaml.4.14.0 instead of ocaml-base-compiler.4.14.0).

I had similar behaviour on opam 2.1.2

goband34 avatar Aug 05 '22 17:08 goband34

I was able to reproduce with just

% opam switch create testswitch ocaml-base-compiler.4.14.0 --fake

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><>  🐫
Switch invariant: ["ocaml-base-compiler" {= "4.14.0"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><>  🐫
Faking installation of base-bigarray.base
Faking installation of base-threads.base
Faking installation of base-unix.base
Faking installation of ocaml-base-compiler.4.14.0
Faking installation of ocaml-config.2
Faking installation of ocaml.4.14.0
Faking installation of ocaml-options-vanilla.1
Done.
# Run eval $(opam env --switch=testswitch) to update the current shell
environment
% opam install disml
[ERROR] Package conflict!
[ERROR] Internal error while computing conflict explanations:
        sorry about that. Please report how you got here in the bugtracker if
        possible.

Thanks for your report

kit-ty-kate avatar Aug 05 '22 18:08 kit-ty-kate

Please refer to discussion for examples of conflict message.

rjbou avatar Aug 15 '22 10:08 rjbou

I am seeing this message, it may be related here. But I am looking for a workaround. Do you guys know anything that can help me fix this issue?

Switch invariant: ["ocaml-base-compiler" {= "4.09.1"} | "ocaml-system" {= "4.09.1"}]
[ERROR] Could not determine which packages to install for this switch:
  * Missing dependency:
    - ocaml-base-compiler = 4.09.1 | ocaml-system = 4.09.1
    unmet availability conditions: '!(os = "macos" & arch = "arm64")'
    unmet availability conditions: 'sys-ocaml-version = "4.09.1"'

leoheck avatar Sep 06 '22 12:09 leoheck

In this case, the conflict message is rather explicit:

  • you are requesting a new switch with OCaml 4.09.1
  • but, you are on macOS/arm64
  • and OCaml 4.09.1 does not support macOS/arm64

Only OCaml 4.10.2 or >= 4.12.0 support the new architecture. This part could be explicited but I don't see an easy way to do that so I don't think it's doable.

kit-ty-kate avatar Sep 06 '22 12:09 kit-ty-kate

I agree. Thanks for the answer.

I am not an OCaml user/dev so I am not really into OCaml. But I do use a software that was written in OCaml. This one uses 4.09.1. I am not sure if I can upgrade to let's say 4.10.2. I thought I tried once to use a different version than what was specified but I think I ran into problems and something did not work.

Do you know if upgrading the version like this is something that should work?

leoheck avatar Sep 06 '22 12:09 leoheck

It should, but the OCaml forum is the preferred place to ask this kind of question: https://discuss.ocaml.org/

kit-ty-kate avatar Sep 06 '22 12:09 kit-ty-kate

Ok, thanks anyway @kit-ty-kate

leoheck avatar Sep 06 '22 12:09 leoheck

I came across a confusing message in https://github.com/RyanGibb/ocaml-dns-eio/

With:

depends: [
  "ocaml" {= "5.1.0"}
  "dune" {>= "3.4"}
  "eio_main"
  "dns"
  "dns-server" {>= "6.2.2"}
  "odoc" {with-doc}
]

I got:

[ERROR] No solution including optional dependencies for dns-server-eio.dev:   * No agreement on the version of ocaml:
             - dns-server-eio -> dns-server >= 6.2.2 -> tcpip >= 7.0.0 -> bisect_ppx >= 2.5.0 -> ocaml < 5.0
             - dns-server-eio -> ocaml >= 5.1.0

Changing "ocaml" {= "5.1.0"} to "ocaml" {>= "5.0.0"} fixed this. I would have expected the error message to say ocaml <= 5.0 instead of ocaml < 5.0.

RyanGibb avatar Feb 07 '23 17:02 RyanGibb