hyperkit icon indicating copy to clipboard operation
hyperkit copied to clipboard

Readme in OPAM Dev Environment is not working on High Sierra

Open mustafaakin opened this issue 8 years ago • 7 comments

➜  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

mustafaakin avatar Dec 16 '17 19:12 mustafaakin

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

mustafaakin avatar Dec 16 '17 19:12 mustafaakin

/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.

ijc avatar Dec 18 '17 10:12 ijc

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)

djs55 avatar Dec 18 '17 11:12 djs55

Thanks, it works by switching to 4.03.0

mustafaakin avatar Dec 18 '17 11:12 mustafaakin

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)

ijc avatar Dec 18 '17 11:12 ijc

is there any update on this?

jshaw86 avatar Jan 26 '18 23:01 jshaw86

I don't think anything has changed since so you still need to use ocaml 4.03, /cc @djs55 for input/correction.

ijc avatar Jan 29 '18 10:01 ijc