Platform Notes 1.4

Ubuntu/Kubuntu

Ubuntu comes with OpenNebula packages, for easy installation:

  • libopennebula-dev - OpenNebula client library - Development
  • libopennebula1 - OpenNebula client library - Runtime
  • opennebula - OpenNebula controller
  • opennebula-common - OpenNebula common files
  • opennebula-node - OpenNebula node

If you want to build OpenNebula install the following packages:

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

Optional software:

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

Debian Lenny

To build OpenNebula install the following packages:

  • gcc c++ compiler: g++
  • ruby: 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

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-3.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 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

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

Use this repository to install libxmlrpc-c-devel and xmlrpc-c: http://packman.iu-bremen.de/suse/11.3/packman.repo

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 lots 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>