Build Dependencies

This page lists the build dependencies for OpenNebula.

  • g++ compiler (>= 5.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, >= 5.6 is recommended for pool search)

  • libxml2 development libraries (>= 2.7)

  • libvncserver development libraries (>= 0.9)

  • openssl development libraries (>= 0.9.8)

  • ruby interpreter (>= 2.0.0)

Ubuntu 22.04, 24.04

  • bash-completion

  • bower

  • debhelper (>= 7.0.50~)

  • default-jdk

  • freerdp2-dev

  • grunt

  • javahelper (>= 0.32)

  • libaugeas-dev

  • libcairo2-dev

  • libcurl4-openssl-dev

  • libmysql++-dev

  • libmysqlclient-dev

  • libnode-dev (>= 10)

  • libossp-uuid-dev

  • libpango1.0-dev

  • libpulse-dev

  • libsqlite3-dev

  • libssh2-1-dev

  • libssl-dev

  • libsystemd-dev

  • libtool

  • libvncserver-dev

  • libvorbis-dev

  • libwebp-dev

  • libws-commons-util-java

  • libxml2-dev

  • libxmlrpc-c++8-dev

  • libxslt1-dev

  • libzmq3-dev

  • libzmq5

  • nodejs (>= 10)

  • npm

  • python3

  • python3-pip

  • python3-setuptools

  • rake

  • ruby-dev

  • scons

  • unzip

Install all requirements using:

apt install bash-completion debhelper default-jdk freerdp2-dev grunt javahelper libaugeas-dev libcairo2-dev libcurl4-openssl-dev libmysql++-dev libmysqlclient-dev libnode-dev libossp-uuid-dev libpango1.0-dev libpulse-dev libsqlite3-dev libssh2-1-dev libssl-dev libsystemd-dev libtool libvncserver-dev libvorbis-dev libwebp-dev libws-commons-util-java libxml2-dev libxmlrpc-c++8-dev libxslt1-dev libzmq3-dev libzmq5 nodejs npm python3 python3-pip python3-setuptools rake ruby-dev scons unzip && npm install -g bower

Debian 11, Debian 12

  • bash-completion

  • bower

  • debhelper (>= 7.0.50~)

  • default-jdk

  • default-libmysqlclient-dev

  • freerdp2-dev

  • grunt

  • javahelper (>= 0.32)

  • libaugeas-dev

  • libcairo2-dev

  • libcurl4-openssl-dev

  • libnode-dev (>= 10)

  • libossp-uuid-dev

  • libpango1.0-dev

  • libpulse-dev

  • libsqlite3-dev

  • libssh2-1-dev

  • libssl-dev

  • libsystemd-dev

  • libtool

  • libvncserver-dev

  • libvorbis-dev

  • libwebp-dev

  • libws-commons-util-java

  • libxml2-dev

  • libxmlrpc-c++8-dev

  • libxslt1-dev

  • libzmq3-dev

  • libzmq5

  • nodejs (>= 10)

  • npm

  • python3

  • python3-setuptools

  • rake

  • ruby-dev

  • scons

  • unzip

Install all requirements using:

apt install bash-completion debhelper default-jdk default-libmysqlclient-dev freerdp2-dev grunt javahelper libaugeas-dev libcairo2-dev libcurl4-openssl-dev libnode-dev libossp-uuid-dev libpango1.0-dev libpulse-dev libsqlite3-dev libssh2-1-dev libssl-dev libsystemd-dev libtool libvncserver-dev libvorbis-dev libwebp-dev libws-commons-util-java libxml2-dev libxmlrpc-c++8-dev libxslt1-dev libzmq3-dev libzmq5 nodejs npm python3 python3-setuptools rake ruby-dev scons unzip && npm install -g bower

AlmaLinux/RHEL 8,9

  • gcc-c++

  • augeas-devel

  • cairo-devel

  • curl-devel

  • epel-rpm-macros

  • expat-devel

  • freerdp-devel

  • gnutls-devel

  • java-1.7.0-openjdk-devel # java-1.8.0-openjdk-devel needs to be installed for AlmaLinux 9

  • libcurl-devel

  • libffi-devel

  • libjpeg-turbo-devel

  • libnsl2-devel

  • libpq-devel

  • libssh2-devel

  • libtool

  • libvncserver-devel

  • libvorbis-devel

  • libwebp-devel

  • libxml2-devel

  • libxslt-devel

  • mysql-devel

  • nodejs >= 10

  • nodejs-devel >= 10

  • npm

  • openssh

  • openssl-devel

  • pango-devel

  • pkgconfig

  • pulseaudio-libs-devel

  • python3

  • python3-devel

  • python3-rpm-macros

  • python3-scons

  • python3-setuptools

  • python3-wheel

  • ruby-devel

  • rubygem-rake

  • rubygems

  • sqlite-devel

  • systemd

  • systemd-devel

  • xmlrpc-c-devel

  • uuid-devel

  • zeromq-devel

Arch

They are listed in this PKGBUILD.