Platform Notes 2.0

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

owner /path-to-one-location/var/** rw,

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:

# 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

Installing from binary packages

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

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

yum localinstall --nogpgcheck opennebula-2.0-1.<arch>.rpm

Installing from source

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

Installing from binary packages

Before installing the package add Packman repo to your zypper repos: http://packman.links2linux.org/

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:

$ 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

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.

svn co http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/super_stable xmlrpc-c
cd xmlrpc-c
./configure
make
make install

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

$ 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