Build Dependencies 3.4

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.

  • g++ compiler (>= 4.0)
  • xmlrpc-c development libraries (>= 1.06)
  • scons build tool (>= 0.98)
  • sqlite3 development libraries (if compiling with sqlite support) (>= 3.6)
  • mysql client development libraries (if compiling with mysql support) (>= 5.1)
  • libxml2 development libraries (>= 2.7)
  • openssl development libraries (>= 0.9.8)
  • ruby interpreter (>= 1.8.7)


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

CentOS 5 / RHEL 5


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:

$ wget
$ yum localinstall scons-1.2.0-1.noarch.rpm


You can download the xmlrpc-c and xmlrpc-c packages from the rpm repository at

$ wget
$ wget
$ yum localinstall --nogpgcheck xmlrpc-c-1.06.18-1.el5.kb.i386.rpm xmlrpc-c-devel-1.06.18-1.el5.kb.i386.rpm


This package should be installed from source, you can download the tar.gz from It was tested with sqlite 3.5.9.

$ wget
$ 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>


Ruby package is needed during install process

$ yum install ruby

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:

$ 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 libxml2-devel


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
$ 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 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 xmlrpc-c
cd xmlrpc-c
make install

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)



This package is needed as getopt that comes with is BSD style.

$ sudo port install getopt


$ sudo port install xmlrpc-c


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 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/'


When installing libxmlrpc you have to specify that it will be compiled with thread support:

# USE="threads" emerge xmlrpc-c


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 \