[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Compiling init-xenstore-domain.c to initialize a OCamel Xenstore Stubdomain



On 12/12/2012 01:35 PM, xen@xxxxxxxxxx wrote:
> Hello all,
> 
> I post this message to the xen-users and xen-devel list because I think that 
> it is not clear if a user or only a developer can help me out.
> 
> At the moment I'm working on Dom0 disaggregation and I want to create a 
> OCamel Xenstore Stubdomain. So I hope that I have all needed dependencies so 
> I have Xen 4.2 with XSM and FLASK compiled in (XMS Framework appears in xl 
> dmesg so I think it works completely) and Linux 3.6.10 (information in the 
> web said that Linux 3.5 or above with pv_ops is needed for this).
> 
> Now I need to have the init-xenstore-domain utility to modify the init 
> scripts so that the xenstore stubdomain get loaded instead of starting 
> xenstored in Dom0 (I hope that this is right). So I wanted to compile 
> init-xenstore-domain.c from the source directory /tools/xenstore/ within the 
> Xen 4.2.0 source directory.
> 
> I tried to do this with this command:
> 
> gcc -c -I/root/xen-4.2.0/dist/install/usr/include/ 
> -I/root/xen-4.2.0/tools/libxc/ -I/root/xen-4.2.0/xen/include/ 
> /root/xen-4.2.0/stubdom/xenstore/init-xenstore-domain.c -o 
> /root/init-xenstore-domain
> 
> 
> In my case the xen-4.2.0 directory is located inside a debian base "build" 
> chroot in the /root/ directory. At the moment I get this error and I don't 
> know how to include the libelf.h file because of this I get this error:
> 
> In file included from 
> /root/xen-4.2.0/stubdom/xenstore/init-xenstore-domain.c:9:
> /root/xen-4.2.0/tools/libxc/xc_dom.h:17:31: error: xen/libelf/libelf.h: No 
> such file or directory
> In file included from 
> /root/xen-4.2.0/stubdom/xenstore/init-xenstore-domain.c:9:
> /root/xen-4.2.0/tools/libxc/xc_dom.h:63: error: field 'parms' has incomplete 
> type
>

Hmm, looks like it's not getting built by default. Try running:

make -C stubdom/xenstore init-xenstore-domain

This results in a successful build via the following two commands on my system:

gcc  -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall 
-Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable  
 -D__XEN_TOOLS__ -MMD -MF .init-xenstore-domain.o.d  -D_LARGEFILE_SOURCE 
-D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls  -Werror -I. 
-I/home/daniel/xen/stubdom/xenstore/../../tools/libxc 
-I/home/daniel/xen/stubdom/xenstore/../../tools/include 
-I/home/daniel/xen/stubdom/xenstore/../../tools/libxc 
-I/home/daniel/xen/stubdom/xenstore/../../tools/include  -c -o 
init-xenstore-domain.o init-xenstore-domain.c 
gcc     init-xenstore-domain.o libxenstore.so 
/home/daniel/xen/stubdom/xenstore/../../tools/libxc/libxenctrl.so 
/home/daniel/xen/stubdom/xenstore/../../tools/libxc/libxenguest.so 
/home/daniel/xen/stubdom/xenstore/../../tools/xenstore/libxenstore.so -o 
init-xenstore-domain 


> I tried to include the directory /root/xen-4.2.0/xen/include/xen/ (base on my 
> directory structure) and also created a symlink so that the folder xen and 
> the subfolder libelf (like mentioned in the include directive of the source 
> file) and linked to the libelf.h file which is included in the directory 
> mentioned above, but all this thing result in the same error so how could I 
> compile init-xenstore-domain utility? The normal xenstore stubdomain file 
> (not the ocamel variant) was builded successfully by the build system. But 
> the build system at now don't seem to build the init-xenstore-domain utility 
> so I thought I have to compile it seperately.
> 
> Hope that someone can help me out.
> 
> Best Regards
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel
> 
> 


-- 
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.