Mailing List Archive

Compiling init-xenstore-domain.c to initialize a OCamel Xenstore Stubdomain
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

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@lists.xen.org
http://lists.xen.org/xen-devel
Re: Compiling init-xenstore-domain.c to initialize a OCamel Xenstore Stubdomain [ In reply to ]
On 12/12/2012 01:35 PM, xen@lippux.com 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@lists.xen.org
> http://lists.xen.org/xen-devel
>
>


--
Daniel De Graaf
National Security Agency

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Re: Compiling init-xenstore-domain.c to initialize a OCamel Xenstore Stubdomain [ In reply to ]
Zitat von Daniel De Graaf <dgdegra@tycho.nsa.gov>:

> On 12/12/2012 01:35 PM, xen@lippux.com 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@lists.xen.org
>> http://lists.xen.org/xen-devel
>>
>>
>
>
> --
> Daniel De Graaf
> National Security Agency

Hello Daniel,

this command worked and I could compile an executable. Thanks for your help :)

Best Regards


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