Platform Notes 2.2

This page lists the build dependencies for OpenNebula.

If you want to install it from your package manager, visit the software menu to find out if OpenNebula is included in your official distribution package repositories.

Ubuntu/Kubuntu

If you want to build OpenNebula install the following packages:

  • libsqlite3-dev
  • libxmlrpc-c3-dev
  • scons
  • g++
  • ruby
  • libopenssl-ruby
  • libssl-dev

Optional software:

  • ruby-dev
  • make
  • rake
  • rubygems
  • libxml-parser-ruby1.8
  • libxslt1-dev
  • libxml2-dev
  • nokogiri (ruby gem)

:!: If apparmor is active (by default it is), you should add $ONE_LOCATION/var to the end of /etc/apparmor.d/libvirt-qemu

<xterm> owner /path-to-one-location/var/** rw, </xterm>

This line has to be modified if you set a different VM_DIR in oned.conf (it is recommended to leave it commented out)

Debian Lenny

To build OpenNebula install the following packages:

  • gcc c++ compiler: g++
  • ruby: ruby, libopenssl-ruby
  • sqlite3: libsqlite3-0, sqlite3
  • sqlite3-dev : libsqlite3-dev
  • sqlite3-ruby: libsqlite3-ruby
  • libxmlrpc-c: libxmlrpc-c3-dev, libxmlrpc-c3
  • libssl: libssl-dev
  • scons: scons

The xen packages on Lenny seems to be broken, and they don't work with the tap:aio interface. Sander Klous in the mailing proposes the following workaround:

<xterm> # ln -s /usr/lib/xen-3.2-1/bin/tapdisk /usr/sbin # echo xenblktap >> /etc/modules # reboot </xterm>

Fedora 8

Not known issues.

Gentoo

When installing libxmlrpc you have to specify that it will be compiled with thread support:

# USE="threads" emerge xmlrpc-c

Arch

The xmlrpc-c package available in the extra repository is not compiled with support for the abyss server. Use the Arch Build System (ABS) to include support for the server. Just remove –disable-abyss from the configure command in the PKGBUILD file, and install the package:

    cd $srcdir/$pkgname-$pkgver
    ./configure --prefix=/usr \
		--enable-libxml2-backend \
		--disable-cgi-server \
		--disable-libwww-client \
		--disable-wininet-client

CentOS 5 / RHEL 5

Installing from binary packages

You can download the binary packages from here: http://downloads.opennebula.org

Before installing it you need to add the CentOS Karan Repo to your yum repos. Follow the guide in: http://centos.karan.org/ . After adding it, enable the testing repo in your /etc/yum.repos.d/kbsingh-CentOS-Extras.repo.

We recommend to install the OpenNebula package with <xterm> yum localinstall –nogpgcheck opennebula-2.0-1.<arch>.rpm </xterm>

Installing from source

Ruby

We can install the standard packages directly with yum:

<xterm> $ yum install ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc </xterm>

To install rubygems we must activate the EPEL repository: <xterm> $ wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm $ yum localinstall epel-release-5-3.noarch.rpm $ yum install rubygems </xterm>

Once rubygems is installed we can install the following gems: <xterm> gem install nokogiri rake xmlparser </xterm>

scons

The version that comes with Centos is not compatible with our build scripts. To install a more recent version you can download the RPM at:

http://www.scons.org/download.php

<xterm> $ wget http://prdownloads.sourceforge.net/scons/scons-1.2.0-1.noarch.rpm $ yum localinstall scons-1.2.0-1.noarch.rpm </xterm>

xmlrpc-c

You can download the xmlrpc-c and xmlrpc-c packages from the rpm repository at http://centos.karan.org/.

<xterm> $ wget http://centos.karan.org/el5/extras/testing/i386/RPMS/xmlrpc-c-1.06.18-1.el5.kb.i386.rpm $ wget http://centos.karan.org/el5/extras/testing/i386/RPMS/xmlrpc-c-devel-1.06.18-1.el5.kb.i386.rpm $ yum localinstall --nogpgcheck xmlrpc-c-1.06.18-1.el5.kb.i386.rpm xmlrpc-c-devel-1.06.18-1.el5.kb.i386.rpm </xterm>

sqlite

This package should be installed from source, you can download the tar.gz from http://www.sqlite.org/download.html. It was tested with sqlite 3.5.9.

<xterm> $ wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz $ tar xvzf sqlite-amalgamation-3.6.17.tar.gz $ cd sqlite-3.6.17/ $ ./configure $ make $ make install </xterm>

If you do not install it to a system wide location (/usr or /usr/local) you need to add LD_LIBRARY_PATH and tell scons where to find the files:

<xterm> $ scons sqlite=<path where you installed sqlite> </xterm>

openSUSE 11.3

Installing from binary packages

Opennebula packages can be found in the OpenSUSE Opennebula repository which can be added (as root) via YaST package manager or by typing:

<xterm>zypper ar http://download.opensuse.org/repositories/Virtualization:/Cloud:/OpenNebula/</xterm>

Note that packages in the repositories may not be updated to the latest stable versions right away.

Installing from source

Building tools

By default openSUSE 11 does not include the standard building tools, so before any compilation is done you should install: <xterm> $ zypper install gcc gcc-c++ make patch </xterm>

Required Libraries

Install these packages to satisfy all the dependencies of OpenNebula: <xterm> $ zypper install libopenssl-devel libcurl-devel scons pkg-config sqlite3-devel libxslt-devel libxmlrpc_server_abyss++3 libxmlrpc_client++3 libexpat-devel libxmlrpc_server++3 </xterm>

Ruby

We can install the standard packages directly with zypper:

<xterm> $ zypper install ruby ruby-doc-ri ruby-doc-html ruby-devel rubygems </xterm>

rubygems must be >=1.3.1, so to play it safe you can update it to the latest version:

<xterm> $ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz $ tar zxvf rubygems-1.3.1.tgz $ cd rubygems-1.3.1 $ ruby setup.rb $ gem update --system </xterm>

Once rubygems is installed we can install the following gems: <xterm> gem install nokogiri rake xmlparser </xterm>

xmlrpc-c

xmlrpc-c must be built by downloading the latest svn release and compiling it. Read the README file included with the package for additional information. <xterm> svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/super_stable xmlrpc-c cd xmlrpc-c ./configure make make install </xterm>

MAC OSX 10.4 10.5

OpenNebula frontend can be installed in Mac OS X. Here are the instructions to build it in 10.5 (Leopard)

Requisites:

Getopt

This package is needed as getopt that comes with is BSD style.

<xterm> $ sudo port install getopt </xterm>

xmlrpc

<xterm> $ sudo port install xmlrpc-c </xterm>

scons

You can install scons using macports as this:

<xterm> $ sudo port install scons </xterm>

Unfortunately it will also compile python an lost of other packages. Another way of getting it is downloading the standalone package in http://www.scons.org/download.php. Look for scons-local Packages and download the Gzip tar file. In this example I am using version 1.2.0 of the package.

<xterm> $ mkdir -p ~/tmp/scons $ cd ~/tmp/scons $ tar xvf ~/Downloads/scons-local-1.2.0.tar $ alias scons='python ~/tmp/scons/scons.py' </xterm>

OpenNebula

<xterm> $ scons -j2 </xterm>