This is expected behaviour (almost, which I'll get to shortly). By replacing Core.Std with Core_kernel.Std, any uses of Unix within Frenetic must now be factored out.
However, there appears to be a small lurking reference to Unix in the latest Core_kernel release, in one of the constituent modules. I've opened a bug here:
-anil
Hi Anil,
By changing "open Core.Std" to "open Core_kernel.Std" in Frenetic
library, and adding core_kernel to the config.ml, I receive error:
Error: No implementations provided for the following modules:
Unix referenced from
/home/psz/.opam/system/lib/core_kernel/core_kernel.cmxa(Core_kernel)
any suggestion?
On 10/09/14 15:55, Anil Madhavapeddy
wrote:
(Re-adding the devel list to CC)
The s-_expression_ library is actually independent of Unix, so
that's fine. It's easiest to fork Frenetic in the short term
and shift it to using Core_kernel instead of Core. There will
be probably be an Async scheduler, which is a lot more work to
fix. This requires shifting the Async portions to use
Async_kernel instead, which Jane Street is working on.
CCing Yaron -- any sense of how far away Async_kernel is from
a public release? We can get started on an Async_xen port then
as well.
-anil
Oh, we will have the
same problem!
Frenetic protocol library uses Core, mostly for
s-expressions. So far, I was testing it with unix config
to figure out build and controller communication problems.
Any idea of how we can make it work for xen? I think we
have to modify Frenetic library to compile on both unix
and xen, but try to keep this modification as light as
possible until we have Core ported to Mirage.
On 10/09/14 10:33, Anil
Madhavapeddy wrote:
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@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
This message and any attachment are intended solely for
the addressee and may contain confidential information.
If you have received this message in error, please send
it back to me, and immediately delete it. Please do
not use, copy or disclose the information contained in
this message or in any attachment. Any views or
opinions expressed by the author of this email do not
necessarily reflect the views of the University of
Nottingham. This message has been checked for viruses but the
contents of an attachment may still contain software
viruses which could damage your computer system, you are
advised to perform your own checks. Email communications
with the University of Nottingham may be monitored as
permitted by UK legislation.
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.
_______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|