首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MirageOS -无法为XEN构建统一内核

MirageOS -无法为XEN构建统一内核
EN

Stack Overflow用户
提问于 2016-02-10 14:09:25
回答 2查看 156关注 0票数 5

我编写了一个简单的基于MirageOS的Uni内核来执行一个基本的HTTP调用。当我将它作为Unix二进制文件运行时,当它正常工作时,当我将它配置为XEN (mirage configure --xen)并启动make命令时,我会得到以下错误:

代码语言:javascript
复制
ocamlbuild -use-ocamlfind -pkgs lwt.syntax,cohttp.lwt,cohttp.lwt-core,mirage-console.xen,mirage-http,mirage-types.lwt -tags "syntax(camlp4o),annot,bin_annot,strict_sequence,principal" -tag-line "<static*.*>: -syntax(camlp4o)" -cflag -g -lflags -g,-linkpkg,-dontlink,unix main.native.o
+ ocamlfind ocamlopt -g -linkpkg -dontlink unix -output-obj -package mirage-types.lwt -package mirage-http -package mirage-console.xen -package cohttp.lwt-core -package cohttp.lwt -package lwt.syntax -syntax camlp4o unikernel.cmx main.cmx -o main.native.o
File "_none_", line 1:
Error: No implementations provided for the following modules:
         Unix referenced from /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_engine),
           /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_unix),
           /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_io),
           /home/mirage/.opam/system/lib/lwt/lwt-unix.cmxa(Lwt_log),
           /home/mirage/.opam/system/lib/ipaddr/ipaddr_unix.cmxa(Ipaddr_unix),
           /home/mirage/.opam/system/lib/xenstore_transport/xenstore_transport_lwt_unix.cmxa(Xs_transport_lwt_unix_client),
           /home/mirage/.opam/system/lib/conduit/conduit-lwt-unix.cmxa(Conduit_lwt_unix),
           /home/mirage/.opam/system/lib/cohttp/cohttp_lwt_unix.cmxa(Cohttp_lwt_unix_debug),
           /home/mirage/.opam/system/lib/cohttp/cohttp_lwt_unix.cmxa(Cohttp_lwt_unix)
Command exited with code 2.
Compilation unsuccessful after building 7 targets (0 cached) in 00:00:03.
make: *** [main.native.o] Error 10

我刚开始使用MirageOS和OCaml,所以这可能是个愚蠢的问题,但现在我真的不知道该做什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-10 14:56:19

您不应该使用Cohttp_lwt_unix。顾名思义,它运行在unix上,而不是xen上。如果您想要一个防xen的xen服务器示例,可以查看this skeletonthe code used by mirage-seal

票数 5
EN

Stack Overflow用户

发布于 2016-02-10 15:01:29

正如@Drup所说,如果您想要具有可移植性,就需要避免任何"unix“包。相反,请为cohttp使用幻影适配器。这一项应能发挥作用:

https://github.com/mirage/mirage-http

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35317433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档