2015-01-23 3 views
3

Я прочитал этот документ (http://openmirage.org/wiki/hello-world) и попытался построить Xen unikernel следующим образом:Как построить Xen unikernel миража OS

mirage configure --xen 
make depend 
make  

Но не удалось при компиляции:

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' 

к PKG_CONFIG_PATH переменная окружения Пакет 'mirage-xen' не найден make: *** [build] Ошибка 1

Я установил mirage-x ru by opam install mirage-xen успешно. Но в моем каталоге .opam нет mirage-xen.pc.

ответ

5

Скорее всего, ваша версия mirage-xen устарела. Вы можете обновить его с помощью OPAM по:

opam update -u 
opam info mirage-xen 

Убедитесь, что у вас есть mirage-xen версии 2.1.1 или выше (последняя, ​​как этот комментарий является 2.1.3).

Если вы не подберете обновление, у вас может быть локальная проверка Git базы данных центрального пакета. Подтвердите, посмотрев на выходе:

opam remote 

Выход из этого должен сказать вам, где ваш местный git контроль есть, и поэтому перемещаться туда и обновить из git://github.com/ocaml/opam-repository и затем запустить opam update -u.

6

Они должны отображаться в вашем префиксе 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 

(у вас может быть меньше, mirage-xen.pc является важным)

Предполагая, что они там, проверить Makefile проекта правильно настройки PKG_CONFIG_PATH.

 Смежные вопросы

  • Нет связанных вопросов^_^