Build Prerequisites
The page lists the prerequisite packages that need to be installed on the different platforms to be able to run successfully the ./configure script and to build basic ROOT. If more advanced ROOT plugins are required look at the ./configure output and add the desired third party packages before running ./configure again.
Fedora 13, 14, 15 and 16
- git
for /usr/bin/git - make
for /usr/bin/make - gcc-c++
for /usr/bin/g++ - gcc
for /usr/bin/gcc - binutils
for /usr/bin/ld - libX11-devel
for usr/include/X11/Xlib.h and for /usr/lib/libX11.so - libXpm-devel
for /usr/include/X11/xpm.h and for /usr/lib/libXpm.so - libXft-devel
for /usr/include/X11/Xft/Xft.h and for /usr/lib/libXft.so - libXext-devel
for /usr/include/X11/extensions/shape.h and for /usr/lib/libXext.so
Most common optional packages:
- gcc-gfortran
for /usr/bin/gfortran - openssl-devel
for /usr/include/openssl/pem.h and /usr/lib/libssl.so and /usr/lib/libcrypto.so - pcre-devel
for /usr/bin/pcre-config - mesa-libGL-devel
for /usr/include/GL/gl.h and for /usr/lib/libGL.so - glew-devel
for /usr/include/GL/glew.h and for /usr/lib/libGLEW.so - ftgl-devel
for /usr/bin/pkg-config - mysql-devel
for /usr/bin/mysql_config - fftw-devel
for /usr/include/fftw3.h and for /usr/lib/libfftw3.so - cfitsio-devel
for /usr/include/fitsio2.h and for /usr/lib/libcfitsio.so - graphviz-devel
for /usr/include/graphviz/gvc.h and for /usr/lib/libgvc.so - avahi-compat-libdns_sd-devel
for /usr/include/dns_sd.h and for /usr/lib/libdns_sd.so - libldap-dev
for /usr/include/ldap.h and for /usr/lib/libldap.so - python-devel
for /usr/include/python2.6/Python.h and for /usr/lib/libpython2.6.so - libxml2-devel
for /usr/bin/xml2-config - gsl-static
for /usr/include/gsl/gsl_version.h and for /usr/lib/libgsl.a. On Fedora 16 use gsl-devel.
Use "yum install package" or use the graphical "Add/Remove Software" program.
Required packages:
sudo yum install git make gcc-c++ gcc binutils \
libX11-devel libXpm-devel libXft-devel libXext-devel
Optional packages:
sudo yum install gcc-gfortran openssl-devel pcre-devel \
mesa-libGL-devel glew-devel ftgl-devel mysql-devel \
fftw-devel cfitsio-devel graphviz-devel \
avahi-compat-libdns_sd-devel libldap-dev python-devel \
libxml2-devel gsl-static
Ubuntu 9, 10, 11 and 12
- git
for /usr/bin/git - dpkg-dev
for dpkg-architecture (needed by configure to locate system libraries starting from 11) - make
for /usr/bin/make - g++
for /usr/bin/g++ - gcc
for /usr/bin/gcc - binutils
for /usr/bin/ld - libx11-dev
for usr/include/X11/Xlib.h and for /usr/lib/libX11.so - libxpm-dev
for /usr/include/X11/xpm.h and for /usr/lib/libXpm.so - libxft-dev
for /usr/include/X11/Xft/Xft.h and for /usr/lib/libXft.so - libxext-dev
for /usr/include/X11/extensions/shape.h and for /usr/lib/libXext.so
Most common optional packages:
- gfortran
for /usr/bin/gfortran - openssl-dev or libssl-dev
for /usr/include/openssl/pem.h and /usr/lib/libssl.so and /usr/lib/libcrypto.so - libpcre3-dev
for /usr/bin/pcre-config - xlibmesa-glu-dev
for /usr/include/GL/gl.h and for /usr/lib/libGL.so - libglew1.5-dev
for /usr/include/GL/glew.h and for /usr/lib/libGLEW.so - libftgl-dev
for /usr/bin/pkg-config - libmysqlclient-dev
for /usr/bin/mysql_config - libfftw3-dev
for /usr/include/fftw3.h and for /usr/lib/libfftw3.so - cfitsio-dev
for /usr/include/fitsio2.h and for /usr/lib/libcfitsio.so - graphviz-dev
for /usr/include/graphviz/gvc.h and for /usr/lib/libgvc.so - libavahi-compat-libdnssd-dev
for /usr/include/dns_sd.h and for /usr/lib/libdns_sd.so - libldap2-dev
for /usr/include/ldap.h and for /usr/lib/libldap.so - python-dev
for /usr/include/python2.6/Python.h and for /usr/lib/libpython2.6.so - libxml2-dev
for /usr/bin/xml2-config - libkrb5-dev
for /usr/include/krb5.h and for /usr/lib/libkrb5.so - libgsl0-dev
for /usr/include/gsl/gsl_version.h and for /usr/lib/libgsl.a - libqt4-dev
for /usr/include/qt4/Qt/qglobal.h and for /usr/lib/libQtCore.so
Use "sudo apt-get install package" or use the graphical "Synaptic Package Manager" program.
Required packages:
sudo apt-get install git dpkg-dev make g++ gcc binutils libx11-dev libxpm-dev \
libxft-dev libxext-dev
Optional packages:
sudo apt-get install gfortran libssl-dev libpcre3-dev \
xlibmesa-glu-dev libglew1.5-dev libftgl-dev \
libmysqlclient-dev libfftw3-dev cfitsio-dev \
graphviz-dev libavahi-compat-libdnssd-dev \
libldap2-dev python-dev libxml2-dev libkrb5-dev \
libgsl0-dev libqt4-dev
openSUSE 10, 11
- git
for /usr/bin/git - bash
for /bin/bash - make
for /usr/bin/make - gcc-c++
for /usr/bin/g++ - gcc
for /usr/bin/gcc - binutils
for /usr/bin/ld - xorg-x11-libX11-devel
for /usr/include/X11/Xlib.h and for /usr/lib[64]/libX11.so - xorg-x11-libXpm-devel
for /usr/include/X11/xpm.h and for /usr/lib[64]/libXpm.so - xorg-x11-devel
for /usr/include/X11/Xft/Xft.h and for /usr/lib[64]/libXft.so - xorg-x11-proto-devel
for /usr/include/X11/extensions/shape.h - xorg-x11-libXext-devel
for /usr/lib[64]/libXext.so
Most common optional packages:
- gcc-fortran
for /usr/bin/gfortran - libopenssl-devel
for /usr/include/openssl/pem.h and /usr/lib[64]/libssl.so and /usr/lib[64]/libcrypto.so - pcre-devel
for /usr/bin/pcre-config - Mesa
for /usr/include/GL/gl.h and for /usr/lib[64]/libGL.so - glew-devel
for /usr/include/GL/glew.h and for /usr/lib[64]/libGLEW.so - pkg-config
for /usr/bin/pkg-config - libmysqlclient-devel
for /usr/bin/mysql_config - fftw3-devel
for /usr/include/fftw3.h and for /usr/lib[64]/libfftw3.so - libcfitsio-devel
for /usr/include/libcfitsio0/fitsio2.h and for /usr/lib[64]/libcfitsio.so (not available on openSUSE 10) - graphviz-devel
for /usr/include/graphviz/gvc.h and for /usr/lib[64]/libgvc.so - avahi-compat-mDNSResponder (on openSUSE 10), libdns_sd (on openSUSE 11)
for /usr/lib[64]/libdns_sd.so - avahi-compat-mDNSResponder-devel
for /usr/include/dns_sd.h - openldap2-devel
for /usr/include/ldap.h and for /usr/lib[64]/libldap.so - python-devel
for /usr/include/python2.[5|6]/Python.h and for /usr/lib[64]/libpython2.[5|6].so - libxml2-devel
for /usr/bin/xml2-config - krb5-devel
for /usr/include/krb5.h and for /usr/lib[64]/libkrb5.so - gsl-devel
for /usr/include/gsl/gsl_version.h and for /usr/lib[64]/libgsl.a - libqt4-devel
for /usr/include/Qt/qglobal.h and for /usr/lib[64]/libQtCore.so
Use "sudo zypper install package" or use the graphical "Software / Package Manager" in the "YaST2 Control Center" utility.
Required packages:
sudo zypper install git bash make gcc-c++ gcc binutils \
xorg-x11-libX11-devel xorg-x11-libXpm-devel xorg-x11-devel \
xorg-x11-proto-devel xorg-x11-libXext-devel
Optional packages:
sudo zypper install gcc-fortran libopenssl-devel \
pcre-devel Mesa glew-devel pkg-config libmysqlclient-devel \
fftw3-devel libcfitsio-devel graphviz-devel \
libdns_sd avahi-compat-mDNSResponder-devel openldap2-devel \
python-devel libxml2-devel krb5-devel gsl-devel libqt4-devel
MacOS X
- Xcode developer package
for make, g++, gcc, ld, etc. - Xquartz
for the X11 server (not needed in case the version with Cocoa native backend is build) - Other dependencies can be installed from MacPorts
Xcode is found on the MacOS X installation DVD or in the Mac App store.
Most common optional packages:
- gcc 4.x from MacPorts
for /opt/local/bin/gfortran
or alternatively use this gfortran.dmg
Alternatively ROOT can be installed directly from MacPort with the command:
"sudo port install root"
Windows
If you are using Windows make sure you've installed Microsoft Visual C++ (e.g. the no-cost edition) plus Cygwin
http://cygwin.com
and that it is setup correctly. Instead of Cygwin you can also use Gordon Watts' ROOT Builder: it will guide you though the necessary steps for standard installations,.
AIX 5, 6 and 7
- git
for /usr/bin/git - bash
for /usr/bin/bash - make
for /usr/linux/bin/make - pkg-config
for fontconfig, freetype2, xft and xrender installation - fontconfig
for /usr/lib/libfontconfig.a - fontconfig-devel
for /usr/include/fontconfig - freetype2
for /usr/lib/libfreetype.a needed by xft - freetype2-devel
for /usr/include/freetype2 - libxml2
for /usr/lib/libxml2.a - libxml2-devel
for /usr/bin/xml2-config - xft
for /usr/include/X11/Xft/Xft.h and /usr/lib/libXft.a - xrender
for /opt/freeware/include/X11/extensions/Xrender.h and /usr/lib/libXrender.a - zlib
for resolving dependencies - zlib-devel
for resolving dependencies - expat
for resolving dependencies
Use "rpm -Uvh package" to install the above packages from AIX Toolbox for Linux Applications. Subversion can be obtained from collab.net.
Xrootd
Starting with version 5.32/00 the xrootd package is not distributed anymore with ROOT. To build the ROOT plug-ins libNetx, libProofx and the ROOT binary xproofd, the relevant includes and libs are taken form an external standard installation. For example, on lxplus xrootd will be available under the LCG area on AFS.
The drop of xrootd from ROOT coincides with the adoption by xrootd of a cmake-based build system (xrootd version 3.1.0 or newer). ROOT should be able to build with older versions, although this can not be always guaranteed.
Users wishing to do so can have their local installation of xrootd by following these dedicated instructions.
CernVM
Assuming a core (not desktop) image:
- sudo conary update xorg-x11-proto-devel libXrender:devel fontconfig:devel --resolve
- sudo conary pin
so it survives appliance updates