gar*_*ubo 3 xen opam unikernel mirage
我阅读本文档(http://openmirage.org/wiki/hello-world)并尝试构建一个xen unikernel,如下所示:
mirage configure --xen
make depend
make
Run Code Online (Sandbox Code Playgroud)
但编译失败:
ocamlbuild -classic-display -use-ocamlfind -pkgs lwt.syntax,mirage-console.xen,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 ocamldep -package mirage-types.lwt -package mirage-console.xen -package lwt.syntax -syntax camlp4o -modules main.ml > main.ml.depends
ocamlfind ocamlc -c -g -annot -bin-annot -principal -strict-sequence -package mirage-types.lwt -package mirage-console.xen -package lwt.syntax -syntax camlp4o -o main.cmo main.ml
ocamlfind ocamlopt -c -g -annot -bin-annot -principal -strict-sequence -package mirage-types.lwt -package mirage-console.xen -package lwt.syntax -syntax camlp4o -o main.cmx main.ml
pkg-config --print-errors --exists mirage-xen
Package mirage-xen was not found in the pkg-config search path.
Perhaps you should add the directory containing `mirage-xen.pc'
Run Code Online (Sandbox Code Playgroud)
到PKG_CONFIG_PATH环境变量没有发现包'mirage-xen'成为:***[build]错误1
我opam install mirage-xen成功安装了mirage-xen .但在我的.opam目录中,没有mirage-xen.pc.
它们应出现在您的OPAM前缀中.我明白了:
$ ls $(opam config var prefix)/lib/pkgconfig
gmp.pc mirage-xen-ocaml-bindings.pc mirage-xen-posix.pc
libminios-xen.pc mirage-xen-ocaml.pc openlibm.pc
mirage-xen-minios.pc mirage-xen.pc
Run Code Online (Sandbox Code Playgroud)
(你可能会少; mirage-xen.pc重要的是)
假设它们在那里,检查项目的Makefile是否PKG_CONFIG_PATH正确设置.
您的版本mirage-xen可能已过时.您可以通过OPAM更新它:
opam update -u
opam info mirage-xen
Run Code Online (Sandbox Code Playgroud)
确保您具有mirage-xen2.1.1或更高版本(此评论的最新版本为2.1.3).
如果您没有接受升级,那么您可能有一个中央包数据库的本地Git签出.通过查看输出来确认:
opam remote
Run Code Online (Sandbox Code Playgroud)
此输出应该告诉您本地git结帐的位置,然后在那里导航并刷新git://github.com/ocaml/opam-repository然后运行opam update -u.
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |