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
- subversion
for /usr/bin/svn - 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.
Ubuntu 9, 10, 11 and 12
- subversion
for /usr/bin/svn - 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.
openSUSE 10, 11
- subversion
for /usr/bin/svn - 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.
MacOS X
- Xcode developer package
for make, g++, gcc, ld, libX11, etc. - X11User
for the X11 server
These packages are found on the MacOS X installation DVD.
Most common optional packages:
- gcc 4.x from Fink
for /sw/bin/gfortran
or alternatively use this gfortran.dmg
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
- subversion
for /usr/bin/svn - 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