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