Readme in OPAM Dev Environment is not working on High Sierra
➜ hyperkit git:(master) ✗ opam install uri qcow.0.10.3 conduit.1.0.0 lwt.3.1.0 qcow-tool mirage-block-unix.2.9.0 conf-libev logs fmt mirage-unix prometheus-app
The following dependencies couldn't be met:
- qcow-tool -> qcow = 0.10.4
- qcow-tool -> sha = 1.9
Your request can't be satisfied:
- Conflicting version constraints for qcow
- sha.1.9 is not available because your system doesn't comply with ocaml-version < "4.06.0".
No solution found, exiting
I tried following, it installed but not sure how will it work: (I am not too familiar with ocaml)
opam install uri qcow conduit lwt qcow-tool mirage-block-unix.2.9.0 conf-libev logs fmt mirage-unix prometheus-app
It did not work either, so I tried removing the versions:
➜ hyperkit git:(master) ✗ opam install uri qcow conduit lwt qcow-tool mirage-block-unix conf-libev logs fmt mirage-unix prometheus-app conduit-lwt
[NOTE] Package uri is already installed (current version is 1.9.5).
[NOTE] Package qcow is already installed (current version is 0.10.4).
[NOTE] Package conduit is already installed (current version is 1.0.0).
[NOTE] Package lwt is already installed (current version is 3.1.0).
[NOTE] Package qcow-tool is already installed (current version is 0.10.5).
[NOTE] Package mirage-block-unix is already installed (current version is 2.9.0).
[NOTE] Package conf-libev is already installed (current version is 4-11).
[NOTE] Package logs is already installed (current version is 0.6.2).
[NOTE] Package fmt is already installed (current version is 0.8.4).
[NOTE] Package mirage-unix is already installed (current version is 3.0.4).
[NOTE] Package conduit-lwt is already installed (current version is 1.0.0).
The following dependencies couldn't be met:
- prometheus-app -> cohttp < 1.0 -> uri < 1.5.0 -> sexplib < 113.01.00
- prometheus-app -> cohttp < 1.0 -> sexplib < 113.01.00
- prometheus-app -> cohttp < 1.0 -> pa_fields_conv
- prometheus-app -> cohttp < 1.0 -> lwt < 2.5.0
- prometheus-app -> cohttp < 1.0 -> fieldslib < 113.01.00 -> type_conv (= 108.00.02 | = 108.07.00 | = 108.07.01 | = 108.08.00 | = 109.07.00 | = 109.08.00 | = 109.09.00 | = 109.10.00 | = 109.11.00 | = 109.12.00 | = 109.13.00 | = 109.14.00 | = 109.15.00)
- prometheus-app -> cohttp < 1.0 -> cstruct < 0.6.0
- prometheus-app -> cohttp < 1.0 -> conduit < 0.16.0 -> pa_sexp_conv < v0.9.0
- prometheus-app -> cohttp < 1.0 -> conduit < 0.16.0 -> ppx_driver <= 113.33.04 -> ppx_optcomp < 113.34.00+4.03 -> ppx_core < 113.34.00+4.03
- prometheus-app -> cohttp < 1.0 -> conduit < 0.16.0 -> sexplib < 113.24.00
- conduit-lwt -> conduit >= 1.0.0
Your request can't be satisfied:
- Conflicting version constraints for conduit
- cstruct<0.6.0 is not available because your system doesn't comply with ocaml-version < "4.06.0".
- lwt<2.5.0 is not available because your system doesn't comply with ocaml-version >= "4.01.0" & ocaml-version < "4.03.0" & compiler != "4.02.1+BER".
- pa_fields_conv is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03".
- pa_sexp_conv<v0.9.0 is not available because your system doesn't comply with ocaml-version >= "4.02.1" & ocaml-version < "4.03".
- ppx_core<113.25.00 is not available because your system doesn't comply with ocaml-version >= "4.02.3" & ocaml-version < "4.03.0".
- ppx_core<113.34.00+4.03 is not available because your system doesn't comply with ocaml-version = "4.02.3".
- sexplib<113.01.00 is not available because your system doesn't comply with ocaml-version >= "4.02.1" & ocaml-version < "4.03".
- sexplib<113.24.00 is not available because your system doesn't comply with ocaml-version >= "4.02.1" & ocaml-version < "4.03".
- type_conv.108.00.02 is not available because your system doesn't comply with ocaml-version >= "3.12.1" & ocaml-version < "4.03.0".
- type_conv.108.07.00 is not available because your system doesn't comply with ocaml-version < "4.03.0".
- type_conv.108.07.01 is not available because your system doesn't comply with ocaml-version >= "3.12.1" & ocaml-version < "4.03.0".
- type_conv.108.08.00 is not available because your system doesn't comply with ocaml-version >= "3.12.1" & ocaml-version < "4.03.0".
- type_conv.109.07.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.08.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.09.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.10.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.11.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.12.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.13.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.14.00 is not available because your system doesn't comply with ocaml-version >= "4.00.0" & ocaml-version < "4.03.0".
- type_conv.109.15.00 is not available because your system doesn't comply with ocaml-version >= "4.00.1" & ocaml-version < "4.03.0".
No solution found, exiting
/cc @djs55 who knows about these things.
@mustafaakin does the set of commands in the .circle.yml work for you, sometimes they drift from the README.
I think the cause of the problem is the compiler version:
- sha.1.9 is not available because your system doesn't comply with ocaml-version < "4.06.0".
The CI configuration uses OCaml 4.03.0 while the latest version from homebrew is 4.06.0. I'll investigate updating the CI to 4.06.0 to make it more closely match the expected dev experience. As a workaround try running
opam switch 4.03.0
eval $(opam config env)
Thanks, it works by switching to 4.03.0
Lets leave this open at least until the README instructions are usable (whether they need updating to recommend 4.03.0 or the deps updating to work withy 4.06 I'll leave to @djs55)
is there any update on this?
I don't think anything has changed since so you still need to use ocaml 4.03, /cc @djs55 for input/correction.