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)

<xterm> 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, </xterm>

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

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