Building Xenopsd: Difference between revisions
Dave.scott (talk | contribs) (Building the development version of xenopsd) |
Dave.scott (talk | contribs) |
||
Line 4: | Line 4: | ||
You will need: |
You will need: |
||
# the normal build tools (on Debian install "build- |
# the normal build tools (on Debian install "build-essential git rsync wget") |
||
# the Xen development headers (on Debian install "libxen-dev") |
# the Xen development headers (on Debian install "libxen-dev") |
||
# the [http://www.ocaml.org/ OCaml] compiler (at least version 3.12.1) |
# the [http://www.ocaml.org/ OCaml] compiler (at least version 3.12.1) |
||
Line 11: | Line 11: | ||
Assuming a Debian wheezy system (other systems may differ), first install the system packages: |
Assuming a Debian wheezy system (other systems may differ), first install the system packages: |
||
$ sudo apt-get install build- |
$ sudo apt-get install build-essential git rsync wget libxen-dev ocaml |
||
Then install the OPAM tool: |
Then install the OPAM tool: |
||
$ wget http://github.com/OCamlPro/opam/archive/0.8. |
$ wget http://github.com/OCamlPro/opam/archive/0.8.2.tar.gz |
||
$ tar -xvzf 0.8. |
$ tar -xvzf 0.8.2.tar.gz |
||
$ cd 0.8. |
$ cd opam-0.8.2 |
||
$ ./configure |
$ ./configure |
||
$ make |
$ make |
||
$ sudo make install |
$ sudo make install |
||
NB the current release fails to build because it tries to download a dependency from a broken URL: https://github.com/OCamlPro/opam/issues/356 |
|||
Next initialise OPAM, this will read in the definitions of common OCaml packages. |
Next initialise OPAM, this will read in the definitions of common OCaml packages. |
||
Line 33: | Line 35: | ||
and add this in your ~/.profile |
and add this in your ~/.profile |
||
= Building xenopsd (and associated tools) = |
= Building xenopsd (and associated tools) = |
Revision as of 10:40, 2 January 2013
Xenopsd is the "domain management" component within the XCP toolstack.
Prerequisites
You will need:
- the normal build tools (on Debian install "build-essential git rsync wget")
- the Xen development headers (on Debian install "libxen-dev")
- the OCaml compiler (at least version 3.12.1)
- the OCaml package manager, OPAM
Assuming a Debian wheezy system (other systems may differ), first install the system packages:
$ sudo apt-get install build-essential git rsync wget libxen-dev ocaml
Then install the OPAM tool:
$ wget http://github.com/OCamlPro/opam/archive/0.8.2.tar.gz $ tar -xvzf 0.8.2.tar.gz $ cd opam-0.8.2 $ ./configure $ make $ sudo make install
NB the current release fails to build because it tries to download a dependency from a broken URL: https://github.com/OCamlPro/opam/issues/356
Next initialise OPAM, this will read in the definitions of common OCaml packages.
$ opam init
Since OPAM packages are installed by default into a custom directory in $HOME/.opam, it's necessary to update some paths. The instructions will be printed to your terminal and typically look like the following:
To update $PATH, $MANPATH, $OCAML_TOPLEVEL_PATH, $CAML_LD_LIBRARY_PATH; you can now run: $ which opam && eval `opam config -env` and add this in your ~/.profile
Building xenopsd (and associated tools)
To make building easy, the development versions of xenopsd (and associated tools) are packaged into OPAM packages in a custom repository. To build, first add this repository as a remote:
$ opam remote -add xen-dev git://github.com/xen-org/opam-repo-dev
The new packages found in this remote will be listed on your terminal and may be queried via "opam list". At the time of writing this list looked like:
The following NEW packages are available: - fd-send-recv.1.0.0 - forkexecd.1.0.0 - message_switch.1.0.0 - shared-memory-ring.1.0.0 - xcp.1.0.0 - xen-api-client.1.0.0 - xenctrl.4.1.0 - xenops-cli.1.0.0 - xenopsd.1.0.0 - xenstore.2.0.0 - xenstore_transport.1.0.0
Finally, to build xenopsd (and its CLI) and all their dependencies, use the following command:
$ opam install xenopsd xenops-cli
The xenospd binary will end up in .opam/system/bin and should be on your $PATH (if you followed the earlier instructions to update your environment)