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:

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

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:

$ yum install ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc

To install rubygems we must activate the EPEL repository:

$ 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

Once rubygems is installed we can install the following gems:

gem install nokogiri rake xmlparser 

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

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

xmlrpc-c

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

$ 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

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.

$ 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

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:

$ scons sqlite=<path where you installed sqlite>

openSUSE 11

Building tools

By default openSUSE 11 does not include the standard building tools, so before any compilation is done you should install:

$ zypper install gcc gcc-c++ make patch

Required Libraries

Install these packages to satisfy all the dependencies of OpenNebula:

$ 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

Ruby

We can install the standard packages directly with zypper:

$ zypper install ruby ruby-doc-ri ruby-doc-html ruby-devel rubygems

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

$ 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

Once rubygems is installed we can install the following gems:

gem install nokogiri rake xmlparser 

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.

$ sudo port install getopt

xmlrpc

$ sudo port install xmlrpc-c

scons

You can install scons using macports as this:

$ sudo port install scons

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.

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

OpenNebula

$ scons -j2