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

Debian/Ubuntu

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

CentOS 5 / RHEL 5

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>

Ruby

Ruby package is needed during install process

<xterm> $ yum install ruby </xterm>

openSUSE 11.3

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 libxml2-devel </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 dependencies 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>

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