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.
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>
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>
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 package is needed during install process
<xterm> $ yum install ruby </xterm>
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>
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>
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 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>
OpenNebula frontend can be installed in Mac OS X. Here are the dependencies to build it in 10.5 (Leopard)
Requisites:
This package is needed as getopt
that comes with is BSD style.
<xterm> $ sudo port install getopt </xterm>
<xterm> $ sudo port install xmlrpc-c </xterm>
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>
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 \ --disable-wininet-client