Hi Ania,
Mort is correct -- we haven't completely finishing porting Core to Mirage. This requires breaking it down into smaller Unix-free chunks, which the upstream maintainers (Jane Street) have already started doing. Core consists of several sub-libraries, of which the Unix-free subset is Core_kernel. Core_kernel still requires a few minor C stubs (around Bigarray handling) which should work with the trunk build of Mirage (untested).
Overall though, if you're interested in getting on with applications in Mirage *right now*, you should avoid Core for now. Using Core_kernel is pretty close though, so I'll take a look at that.
-anil unfortunately, aiui, core can't presently be used to build for xen -- as i said, i think moves are afoot to fix this but it's a non-trivial thing to do so i don't know what the timeline is (or even if that's explicitly on the timeline). i don't know core well, but i know at least one issue is that the threading library (Core.Async) is alike to but not completely compatible with Lwt.
others on the list are better placed to comment on if/when Core code will be usable with Xen :)
Hi,
thanks for your reply :) I am trying to build a piece of ocaml program in mirage, which doesn't have a very large codebase.
from errors, it looks that core is one of the libraries that results in this error. in the code, I found that Core.Std is opened. Is that a library that can not be used for xen? skimming through the code, I didn't find explicit unix dependencies.
Hi,
I'd guess so, yes. Anything that depends on the underlying platform (Unix) needs to be abstracted to work with mirage.
Specifically, all those modules in the error message have unix dependencies that aren't being satisfied, though I believe work is ongoing to split js core up to have a kernel part that will be more compatible with he mirage approach.
What are you trying to do? It might be that there are alternative mirage compatible libraries already available (though that might not help much if you're looking at porting a large codebase of course :) -- Cheers,
R.
Hello guys,
When I compile my mirage application for xen, the following error happens:
File "_none_", line 1: Error: No implementations provided for the following modules: UnixLabels referenced from /home/user/.opam/system/lib/core/core.cmxa(Core) Unix referenced from /usr/lib/ocaml/threads/threads.cmxa(Thread), /home/user/.opam/system/lib/core_kernel/core_kernel.cmxa(Core_kernel), /home/user/.opam/system/lib/sexplib_unix/sexplib_unix.cmxa(Sexplib_unix), /home/user/.opam/system/lib/core/core.cmxa(Core) Command exited with code 2.
Am I using libraries that can not be used to for xen unikernel?
_______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxxhttp://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|