opam
opam copied to clipboard
Unhelpful conflict messages
*** 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.
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
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...
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
Could this be added to the next beta3
milestone btw? I really need it for my work on the upcoming OCaml 4.12.
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
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.
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)
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?
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
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.
https://github.com/ocaml/opam/pull/4982 only fixes the "empty explanations", not the "surprising conflict messages".
#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]);
]
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 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)
Sure: c1ba97dafe95c865d37ad4d88f6e57c9ffbe7f0a for opam-repository and macos/arm64
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
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
Please refer to discussion for examples of conflict message.
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"'
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.
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?
It should, but the OCaml forum is the preferred place to ask this kind of question: https://discuss.ocaml.org/
Ok, thanks anyway @kit-ty-kate
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
.