[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] mirage-clock-unix dependency problem

On 10/05/2014 04:48 PM, Anil Madhavapeddy wrote:
[CCing the mirageos-devel list]

On 5 Oct 2014, at 22:44, Aaron Quamme <aaron.quamme@xxxxxxxxx> wrote:


I'm encountering a problem when following the MirageOS hello world guide - when 
running `make depend' I get the error:

The dependency mirage-types>=0.4.0 of package mirage-console-unix.1.0.0 is not 
available for your compiler or your OS.
'opam install mirage-console-unix mirage-unix --verbose' failed.
Makefile:19: recipe for target 'depend' failed
make: *** [depend] Error 3

Executing `opam list' reveals that I have mirage-types 1.2.0 installed, so this 
appears to be a bug.

I'm running Debian jessie and using opam 1.1.1 with ocaml 4.01.0.

If there's any other information I can provide, let me know. Thank you for any 
help you can provide.

Do you have 'aspcud' installed on Jessie by any chance?  If not, could you try 
installing it and then retrying this?  If that still fails, an issue on 
https://github.com/ocaml/opam-repository with OPAMDEBUG=1 set in the 
environment would be helpful in debugging the problem.


I did not have 'aspcud', but installing it doesn't appear to be the silver bullet. I tried running 'make depend' again - it looks like opam is trying to install packages that I already have installed, which causes it to fail:

# W: Cannot find source file matching module 'sexplib_unix' in library sexplib_unix # W: Cannot find source file matching module 'sexplib_num' in library sexplib_num
# W: Cannot find source file matching module 'sexplib' in library sexplib
# ocamlfind: Package sexplib_unix is already installed
#  - (file /home/aaron/.opam/system/lib/sexplib_unix/META already exists)
# E: Failure("Command ''/home/aaron/.opam/system/bin/ocamlfind' install sexplib_unix unix/lib/META _build/unix/lib/sexplib_unix.cmx _build/unix/lib/sexplib_unix.cmxs _build/unix/lib/sexplib_unix.a _build/unix/lib/sexplib_unix.cmxa _build/unix/lib/sexplib_unix.cma _build/unix/lib/sexplib_unix.cmi unix/lib/sexplib_unix_conv.ml' terminated with error code 2")
# make[1]: *** [install] Error 1

Now when I run 'mirage configure --unix', it appears that my installation of sexplib isn't detected:

Mirage      Using scanned config file: config.ml
Mirage Processing: /home/aaron/coding/mirage/mirage-skeleton/console/config.ml Mirage => rm -rf /home/aaron/coding/mirage/mirage-skeleton/console/_build/config.* Mirage => cd /home/aaron/coding/mirage/mirage-skeleton/console && ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs Mirage ocamlfind ocamldep -package mirage -modules config.ml > config.ml.depends Mirage + ocamlfind ocamldep -package mirage -modules config.ml > config.ml.depends
Mirage       ocamlfind: Package `sexplib' not found - required by `ipaddr'
Mirage       Command exited with code 2.
[ERROR] The command "cd /home/aaron/coding/mirage/mirage-skeleton/console && ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs" exited with code 10.

'opam list' shows that sexplib is in fact installed.

It appears that running 'mirage configure --unix' and then 'make depend' repeatedly make the problem worse - opam attempts to install more and more packages that are already present on my system.

I can certainly file a github issue on this, although I'm afraid it'll be an information dump, as I'm not sure what exactly is relevant and what isn't.


MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.