Mailing List Archive

Building XAPI as a 32-bit binary
Hello

I am trying to build a 32-bit XAPI in a CentOS 6.3 environment. However, the xen rpms (like xen-devel) are only available as 64-bit binaries (like http://dev.centos.org/centos/6/xen-c6-RC1/x86_64/RPMS/) and not available in 32-bit because of which I am not able to compile the 32-bit XAPI binaries. I can try to compile Xen 32-bit RPMs from the SRPMs but I was wondering how a 32-bit RPMs are not available publicly given that dom0 is a 32-bit.

Any pointers to building a 32-bit XAPI are really appreciated.

Ranjeet
Re: Building XAPI as a 32-bit binary [ In reply to ]
Hi,

[cross-posted to xs-devel]

On 10/02/14 18:27, Ranjeet R wrote:
> Hello
> I am trying to build a 32-bit XAPI in a CentOS 6.3 environment. However,
> the xen rpms (like xen-devel) are only available as 64-bit binaries
> (like _http://dev.centos.org/centos/6/xen-c6-RC1/x86_64/RPMS/_) and not
> available in 32-bit because of which I am not able to compile the 32-bit
> XAPI binaries. I can try to compile Xen 32-bit RPMs from the SRPMs but I
> was wondering how a 32-bit RPMs are not available publicly given that
> dom0 is a 32-bit.
> Any pointers to building a 32-bit XAPI are really appreciated.

I assume you're interested in 32-bit because that's what currently
shipping in XenServer -- is that correct? In that case I recommend
trying to build xapi inside a XenServer "DDK VM": this should have all
the necessary xen RPMs pre-installed.

If you base yourself on XenServer 6.2, then try building one of the xapi
"clearwater" branches:

https://github.com/xapi-project/xen-api/tree/clearwater-sp1-lcm

Good luck!

Dave

_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
Re: Building XAPI as a 32-bit binary [ In reply to ]
Hi Dave

Thanks for the pointers.

I have installed a XenServer 6.2SP1 DDK VM and going through with the build. However, when I try to build xenctrl, I get the following compilation errors

# lib/xenguest_stubs.c: In function 'get_flags':
# lib/xenguest_stubs.c:233: warning: format '%ld' expects type 'long int', but argument 13 has type 'uint64_t'
# lib/xenguest_stubs.c: In function 'stub_xc_linux_build_native':
# lib/xenguest_stubs.c:374: warning: implicit declaration of function 'xc_dom_loginit'
# lib/xenguest_stubs.c:404: warning: implicit declaration of function 'xc_dom_release'
# lib/xenguest_stubs.c: In function 'stub_xc_domain_save':
# lib/xenguest_stubs.c:606: error: too few arguments to function 'xc_domain_save'
# lib/xenguest_stubs.c: In function 'stub_xc_domain_restore':
# lib/xenguest_stubs.c:682: error: too few arguments to function 'xc_domain_restore'
# Command exited with code 2.

Looking into the header files in xen-compat.h, I see that the macro __XEN_LATEST_INTERFACE_VERSION__ is defined as 0x0003020a, however the code in xenctrl expects the version to be __XEN_INTERFACE_VERSION__ >= 0x00040200 so that it will provide the relevant arguments to functions xc_domain_save.

Question - I would expect the __XEN_INTERFACE_VERSION__ to be defined as 0x00040200 in 6.2 SP1 DDK VM, but it still has 0x0003020a. I am assuming just modifying the version will not work. How can I get around this issue.

Any pointers to help me compile the code is really appreciated.

-Ranjeet

-----Original Message-----
From: David Scott [mailto:dave.scott@eu.citrix.com]
Sent: Thursday, February 13, 2014 3:56 AM
To: xen-api@lists.xen.org
Cc: Ranjeet R; xs-devel@lists.xenserver.org
Subject: Re: [Xen-API] Building XAPI as a 32-bit binary


Hi,

[cross-posted to xs-devel]

On 10/02/14 18:27, Ranjeet R wrote:
> Hello
> I am trying to build a 32-bit XAPI in a CentOS 6.3 environment.
> However, the xen rpms (like xen-devel) are only available as 64-bit
> binaries (like
> _http://dev.centos.org/centos/6/xen-c6-RC1/x86_64/RPMS/_) and not
> available in 32-bit because of which I am not able to compile the
> 32-bit XAPI binaries. I can try to compile Xen 32-bit RPMs from the
> SRPMs but I was wondering how a 32-bit RPMs are not available publicly
> given that
> dom0 is a 32-bit.
> Any pointers to building a 32-bit XAPI are really appreciated.

I assume you're interested in 32-bit because that's what currently shipping in XenServer -- is that correct? In that case I recommend trying to build xapi inside a XenServer "DDK VM": this should have all the necessary xen RPMs pre-installed.

If you base yourself on XenServer 6.2, then try building one of the xapi "clearwater" branches:

https://github.com/xapi-project/xen-api/tree/clearwater-sp1-lcm

Good luck!

Dave




_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
Re: Building XAPI as a 32-bit binary [ In reply to ]
Hello all

I got this to compile by changing the code in lib/xenguest_stubs.c to comply with what is defined in the .h file.

The XAPI toolstack contains multiple components like the XAPI daemon, xcp-networkd, xenopsd, etc. In github, I don't see release tags for all the components. For example, if I am based out of 6.2 SP1, then what is the baseline code I should use for the different components so that I can build from source for 6.2SP1 without hitting run time issues.

-Ranjeet

-----Original Message-----
From: Ranjeet R
Sent: Friday, February 14, 2014 1:34 PM
To: David Scott; xen-api@lists.xen.org
Cc: xs-devel@lists.xenserver.org
Subject: RE: [Xen-API] Building XAPI as a 32-bit binary

Hi Dave

Thanks for the pointers.

I have installed a XenServer 6.2SP1 DDK VM and going through with the build. However, when I try to build xenctrl, I get the following compilation errors

# lib/xenguest_stubs.c: In function 'get_flags':
# lib/xenguest_stubs.c:233: warning: format '%ld' expects type 'long int', but argument 13 has type 'uint64_t'
# lib/xenguest_stubs.c: In function 'stub_xc_linux_build_native':
# lib/xenguest_stubs.c:374: warning: implicit declaration of function 'xc_dom_loginit'
# lib/xenguest_stubs.c:404: warning: implicit declaration of function 'xc_dom_release'
# lib/xenguest_stubs.c: In function 'stub_xc_domain_save':
# lib/xenguest_stubs.c:606: error: too few arguments to function 'xc_domain_save'
# lib/xenguest_stubs.c: In function 'stub_xc_domain_restore':
# lib/xenguest_stubs.c:682: error: too few arguments to function 'xc_domain_restore'
# Command exited with code 2.

Looking into the header files in xen-compat.h, I see that the macro __XEN_LATEST_INTERFACE_VERSION__ is defined as 0x0003020a, however the code in xenctrl expects the version to be __XEN_INTERFACE_VERSION__ >= 0x00040200 so that it will provide the relevant arguments to functions xc_domain_save.

Question - I would expect the __XEN_INTERFACE_VERSION__ to be defined as 0x00040200 in 6.2 SP1 DDK VM, but it still has 0x0003020a. I am assuming just modifying the version will not work. How can I get around this issue.

Any pointers to help me compile the code is really appreciated.

-Ranjeet

-----Original Message-----
From: David Scott [mailto:dave.scott@eu.citrix.com]
Sent: Thursday, February 13, 2014 3:56 AM
To: xen-api@lists.xen.org
Cc: Ranjeet R; xs-devel@lists.xenserver.org
Subject: Re: [Xen-API] Building XAPI as a 32-bit binary


Hi,

[cross-posted to xs-devel]

On 10/02/14 18:27, Ranjeet R wrote:
> Hello
> I am trying to build a 32-bit XAPI in a CentOS 6.3 environment.
> However, the xen rpms (like xen-devel) are only available as 64-bit
> binaries (like
> _http://dev.centos.org/centos/6/xen-c6-RC1/x86_64/RPMS/_) and not
> available in 32-bit because of which I am not able to compile the
> 32-bit XAPI binaries. I can try to compile Xen 32-bit RPMs from the
> SRPMs but I was wondering how a 32-bit RPMs are not available publicly
> given that
> dom0 is a 32-bit.
> Any pointers to building a 32-bit XAPI are really appreciated.

I assume you're interested in 32-bit because that's what currently shipping in XenServer -- is that correct? In that case I recommend trying to build xapi inside a XenServer "DDK VM": this should have all the necessary xen RPMs pre-installed.

If you base yourself on XenServer 6.2, then try building one of the xapi "clearwater" branches:

https://github.com/xapi-project/xen-api/tree/clearwater-sp1-lcm

Good luck!

Dave




_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api
Re: Building XAPI as a 32-bit binary [ In reply to ]
Hello all

I have been trying to build the XAPI toolstack in a DDK VM but with no success. I have resolved and built most of the dependencies (believe me, its not straightforward :) ), however, while building XAPI daemon, I am hitting the following compilation issues.

I have tried tried building XAPI daemon code base in https://github.com/djs55/xen-api.git#fusion and I get the following error -

File "network_utils.ml", line 20, characters 11-25:
Error: Unbound module Debug.Debugger
*** omake: 331/2202 targets are up to date
*** omake: failed (0.57 sec, 14/64 scans, 5/127 rules, 14/856 digests)

I also tried building the https://github.com/xapi-project/xen-api/tree/clearwater-sp1-lcm codebase as recommended by Dave and I am getting the following error -

ocamlfind: Package `log' not found

I tried resolving this but I do not know how to proceed further.

If someone has built the XAPI stack in a DDK VM and if you have specific steps for the build, please do share the steps.

Really appreciate your help,
Ranjeet


-----Original Message-----
From: Ranjeet R
Sent: Wednesday, February 19, 2014 12:43 PM
To: 'David Scott'; 'xen-api@lists.xen.org'
Cc: 'xs-devel@lists.xenserver.org'
Subject: RE: [Xen-API] Building XAPI as a 32-bit binary

Hello all

I got this to compile by changing the code in lib/xenguest_stubs.c to comply with what is defined in the .h file.

The XAPI toolstack contains multiple components like the XAPI daemon, xcp-networkd, xenopsd, etc. In github, I don't see release tags for all the components. For example, if I am based out of 6.2 SP1, then what is the baseline code I should use for the different components so that I can build from source for 6.2SP1 without hitting run time issues.

-Ranjeet

-----Original Message-----
From: Ranjeet R
Sent: Friday, February 14, 2014 1:34 PM
To: David Scott; xen-api@lists.xen.org
Cc: xs-devel@lists.xenserver.org
Subject: RE: [Xen-API] Building XAPI as a 32-bit binary

Hi Dave

Thanks for the pointers.

I have installed a XenServer 6.2SP1 DDK VM and going through with the build. However, when I try to build xenctrl, I get the following compilation errors

# lib/xenguest_stubs.c: In function 'get_flags':
# lib/xenguest_stubs.c:233: warning: format '%ld' expects type 'long int', but argument 13 has type 'uint64_t'
# lib/xenguest_stubs.c: In function 'stub_xc_linux_build_native':
# lib/xenguest_stubs.c:374: warning: implicit declaration of function 'xc_dom_loginit'
# lib/xenguest_stubs.c:404: warning: implicit declaration of function 'xc_dom_release'
# lib/xenguest_stubs.c: In function 'stub_xc_domain_save':
# lib/xenguest_stubs.c:606: error: too few arguments to function 'xc_domain_save'
# lib/xenguest_stubs.c: In function 'stub_xc_domain_restore':
# lib/xenguest_stubs.c:682: error: too few arguments to function 'xc_domain_restore'
# Command exited with code 2.

Looking into the header files in xen-compat.h, I see that the macro __XEN_LATEST_INTERFACE_VERSION__ is defined as 0x0003020a, however the code in xenctrl expects the version to be __XEN_INTERFACE_VERSION__ >= 0x00040200 so that it will provide the relevant arguments to functions xc_domain_save.

Question - I would expect the __XEN_INTERFACE_VERSION__ to be defined as 0x00040200 in 6.2 SP1 DDK VM, but it still has 0x0003020a. I am assuming just modifying the version will not work. How can I get around this issue.

Any pointers to help me compile the code is really appreciated.

-Ranjeet

-----Original Message-----
From: David Scott [mailto:dave.scott@eu.citrix.com]
Sent: Thursday, February 13, 2014 3:56 AM
To: xen-api@lists.xen.org
Cc: Ranjeet R; xs-devel@lists.xenserver.org
Subject: Re: [Xen-API] Building XAPI as a 32-bit binary


Hi,

[cross-posted to xs-devel]

On 10/02/14 18:27, Ranjeet R wrote:
> Hello
> I am trying to build a 32-bit XAPI in a CentOS 6.3 environment.
> However, the xen rpms (like xen-devel) are only available as 64-bit
> binaries (like
> _http://dev.centos.org/centos/6/xen-c6-RC1/x86_64/RPMS/_) and not
> available in 32-bit because of which I am not able to compile the
> 32-bit XAPI binaries. I can try to compile Xen 32-bit RPMs from the
> SRPMs but I was wondering how a 32-bit RPMs are not available publicly
> given that
> dom0 is a 32-bit.
> Any pointers to building a 32-bit XAPI are really appreciated.

I assume you're interested in 32-bit because that's what currently shipping in XenServer -- is that correct? In that case I recommend trying to build xapi inside a XenServer "DDK VM": this should have all the necessary xen RPMs pre-installed.

If you base yourself on XenServer 6.2, then try building one of the xapi "clearwater" branches:

https://github.com/xapi-project/xen-api/tree/clearwater-sp1-lcm

Good luck!

Dave




_______________________________________________
Xen-api mailing list
Xen-api@lists.xen.org
http://lists.xen.org/cgi-bin/mailman/listinfo/xen-api