~~NOTOC~~
====== 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 [[http://lists.alioth.debian.org/pipermail/pkg-xen-devel/2009-June/002344.html|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..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 [[https://fedoraproject.org/wiki/EPEL/FAQ#howtouse|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/|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=
====== 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:
* **xcode** (you can install in from your Mac OS X DVD)
* **macports** http://www.macports.org/
===== 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