Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failure to install following the instructions: qcow dependencies could not be met #241

Open
fedorov opened this issue Jan 7, 2019 · 5 comments

Comments

@fedorov
Copy link

fedorov commented Jan 7, 2019

I am following instructions here:

https://github.com/moby/hyperkit#building

and get this error:

$ 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 → ocaml < 4.06.0
      base of this switch (use `--unlock-base' to force)
Your request can't be satisfied:
  - No available version of qcow satisfies the constraints

No solution found, exiting
@ijc
Copy link
Collaborator

ijc commented Jan 8, 2019

Based on #240 I think you might need:

$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/72ce8812eaa33abe23533dfa021b51351a6b9c3e/Formula/opam.rb

instead of the brew install opam in the docs, @djs55 does that sound right/plausible/likely?

@djs55
Copy link
Collaborator

djs55 commented Jan 8, 2019

Yes indeed, that should work.

I've not got a suitable machine to hand. @fedorov could you see if it works for you and let me know? I can make a PR to update the docs.

@fedorov
Copy link
Author

fedorov commented Jan 8, 2019

Thanks for the quick response!

I uninstalled opam that I installed following the current instructions, and then installed from the package you referenced above. Then I did opam init

OPAM has already been initialized.[ERROR] /Users/fedorov/.opam reports a newer OPAM version, aborting.

I then removed ~/.opam, and re-ran opam init:

Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.


=-=- Fetching repository information =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[default] synchronized from https://opam.ocaml.org
[NOTE] The repository 'default' will be *permanently* redirected to https://opam.ocaml.org/1.2.2 (opam-version < "2.0~")
[default] synchronized from https://opam.ocaml.org/1.2.2

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
∗  installed base-bigarray.base
∗  installed base-threads.base
∗  installed base-unix.base
Done.

In normal operation, OPAM only alters files within ~/.opam.

During this initialisation, you can allow OPAM to add information to two
other files for best results. You can also make these additions manually
if you wish.

If you agree, OPAM will modify:

  - ~/.zshrc (or a file you specify) to set the right environment
    variables and to load the auto-completion scripts for your shell (zsh)
    on startup. Specifically, it checks for and appends the following line:

    . /Users/fedorov/.opam/opam-init/init.zsh > /dev/null 2> /dev/null || true


  - ~/.ocamlinit to ensure that non-system installations of `ocamlfind`
    (i.e. those installed by OPAM) will work correctly when running the
    OCaml toplevel. It does this by adding $OCAML_TOPLEVEL_PATH to the list
    of include directories.

If you choose to not configure your system now, you can either configure
OPAM manually (instructions will be displayed) or launch the automatic setup
later by running:

   opam config setup -a


Do you want OPAM to modify ~/.zshrc and ~/.ocamlinit?
(default is 'no', use 'f' to name a file other than ~/.zshrc)
    [N/y/f] y

User configuration:
  Generating ~/.ocamlinit.
  ~/.zshrc is already up-to-date.
Global configuration:
  Updating ~/.opam/opam-init/init.sh
  Updating ~/.opam/opam-init/init.zsh
  Updating ~/.opam/opam-init/init.csh
  Updating ~/.opam/opam-init/init.fish
# To setup the new switch in the current shell, you need to run:
eval `opam config env`

This also did not generate any errors:

$ eval `opam config env`

However, opam install is still failing:

$ 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

@djs55
Copy link
Collaborator

djs55 commented Jan 9, 2019 via email

@fedorov
Copy link
Author

fedorov commented Jan 9, 2019

Thank you! I confirm after those steps I was able to proceed with

$ 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants