Hi Robert,First, I actually tried installing Mirage on a Fedora 21 VM but quickly ran into package version conflicts between various dependencies of the OCaml/Opam/Mirage toolchain. OCaml 4.02 breaks things I guess. I think the instructions for installing on Fedora are out of date for this scenario.
Which instructions have you followed. We should fix them. The first problem I encountered isn't really a blocker, more an annoyance, but every time I run "mirage configure --unix", opam can't seem to find the dependency "m4" and prompts me to reinstall it with apt-get. I don't know if this is specifically a problem with Mirage OS, could be opam I suppose.
Note: this is supposed to be handled automatically by the tool, you are not supposed to install anything manually. Maybe that's just a display problem. Second, when I built the stackv4 example from mirage-skeleton I get this error: File " main.ml", line 1: Error: The files /home/robert/.opam/system/lib/mirage-console/console_unix.cmi and unikernel.cmi make inconsistent assumptions over interface Cstruct
This message indicates that you are trying to link your unikernel with a version of cstruct different of the one used to compile console_unix. This is usually due to ocamlfind being confused. How did you install opam and ocamlfind (and what version of opam do you have)? Did you run "eval `opam config env``" before compiling the examples? What "ocamlfind query cstruct" return? Third, when I managed to get one of the network samples building, for example "ping", I couldn't get the unikernel running locally with a tun/tap device I created. Even though I use tapctl to create a tap0 device owned by my user account, just like the tutorial advises, when I go to execute the unikernel I still get this error:
Fatal error: exception Failure("net_tap0") Raised at file "src/core/ lwt.ml", line 788, characters 22-23 Called from file "src/unix/ lwt_main.ml", line 34, characters 8-18 Called from file " main.ml", line 47, characters 2-28
This is rather cryptic but might indicate that you need to run the command using sudo. With the latest iteration of by Mirage development VM I'm running Ubuntu 15.04, OCaml 4.01.0a, Opam 1.2, and Mirage 2.4.0. Am I doing something wrong or maybe am I just running too close to the bleeding edge versions of everything?
Our released software are supposed to work fine, although as you might have seen tthe documentation could be improved.,. Thank you for reporting your issues: this will help improve the experience for other users as well.
Thomas
|