Requirements

Please make sure to follow the instructions for compiling python prior to building ROOT since ROOT needs to be built against python.  ROOT may also be built against MySQL on the linuxes.  Also note that often the version of the source we utilize for ROOT is Fermi-specific where patches have been applied or the version of ROOT is from a branch from their Subversion repository.

v5.34.34

redhat7-x86_64-64bit-gcc48

Turning off mysql and oracle support since GR is not expected to come over the RH7 and oracle seems unavailable and the initial attempt to configure mysql 5.1.39 failed. Also dropped GSL (GSL_DIR and gsl_shared removed) due to build failure, cmake couldn't find our gsl even though it was indicated.

bash-4.2$ cmake -Dalien:BOOL=off -Dbonjour:BOOL=OFF -Dbuiltin_freetype=ON -Dbuiltin_pcre:BOOL=ON -Dbuiltin_xrootd:BOOL=ON -Dcxx11:BOOL=OFF -Dcastor:BOOL=OFF -Ddcache:BOOL=OFF -Dfail-on-missing:BOOL=OFF -Dgdml:BOOL=ON -Dgfal:BOOL=OFF -Dglite:BOOL=OFF -Dgsl_shared:BOOL=ON -Dgviz:BOOL=OFF -Dhdfs:BOOL=OFF -Dminuit2:BOOL=ON -Dmonalisa:BOOL=OFF =Dopengl:BOOL=OFF -Dpgsql:BOOL=OFF -Dpythia6:BOOL=OFF -Dpythia8:BOOL=OFF -Drootfit:BOOL=ON -Drfio:BOOL=ON -Dsapdb:BOOL=OFF -Dsrp:BOOL=OFF -Dssl:BOOL=OFF -Dtable:BOOL=ON -Dtesting:BOOL=ON -Dunuran:BOOL=ON -Dx11:BOOL=ON -DPYTHON_EXECUTABLE=$GLAST_EXT/python/2.7.10/bin/python -DPYTHON_INCLUDE_DIR=$GLAST_EXT/python/2.7.10/include/python2.7 -DPYTHON_LIBRARY=$GLAST_EXT/python/2.7.10/lib/libpython2.7.so -DCFITSIO_INCLUDE_DIR=$GLAST_EXT/cfitsio/v3370/include -DCFITSIO_LIBRARY=$GLAST_EXT/cfitsio/v3370/lib/libcfitsio.so -DFFTW_INCLUDE_DIR=$GLAST_EXT/fftw/3.1.2-gl1/include -DFFTW_LIBRARY=$GLAST_EXT/fftw/3.1.2-gl1/lib/libfftw3.so -DGSL_DIR=$GLAST_EXT/gsl/1.16 -DCMAKE_INSTALL_PREFIX=$GLAST_EXT/ROOT/v5.34.34 $GLAST_EXT/ROOT/root_v5.34.34-src
– The C compiler identification is GNU 4.8.5
– The CXX compiler identification is GNU 4.8.5
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– The Fortran compiler identification is GNU
– Check for working Fortran compiler: /usr/bin/gfortran
– Check for working Fortran compiler: /usr/bin/gfortran – works
– Detecting Fortran compiler ABI info
– Detecting Fortran compiler ABI info - done
– Checking whether /usr/bin/gfortran supports Fortran 90
– Checking whether /usr/bin/gfortran supports Fortran 90 – yes
– Found GCC. Major version 4, minor version 8
– CMAKE_BUILD_TYPE: RelWithDebInfo
– Performing Test CXX_HAS_Wno-array-bounds
– Performing Test CXX_HAS_Wno-array-bounds - Success
– Performing Test CXX_HAS_Wno-strict-aliasing
– Performing Test CXX_HAS_Wno-strict-aliasing - Success
– Looking for include file pthread.h
– Looking for include file pthread.h - found
– Looking for pthread_create
– Looking for pthread_create - not found
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - found
– Found Threads: TRUE
– Found a 64bit system
– Found GNU compiler collection
– Performing Test CXX_HAS_Wno_deprecated_declarations
– Performing Test CXX_HAS_Wno_deprecated_declarations - Success
– ROOT Platform: linux
– ROOT Architecture: linuxx8664gcc
– Build Type: RelWithDebInfo
– Compiler Flags: -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -pthread -Wno-deprecated-declarations
– Looking for ZLib
– Found ZLIB: /usr/lib64/libz.so (found version "1.2.7")
– Looking for LZMA
– LZMA not found. Switching on builtin_lzma option
– Building LZMA version 5.0.3 included in ROOT itself
– Looking for X11
– Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
– Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
– Looking for gethostbyname
– Looking for gethostbyname - found
– Looking for connect
– Looking for connect - found
– Looking for remove
– Looking for remove - found
– Looking for shmat
– Looking for shmat - found
– Found X11: /usr/lib64/libX11.so
– X11_INCLUDE_DIR: /usr/include
– X11_LIBRARIES: /usr/lib64/libX11.so;/usr/lib64/libXext.so
– X11_Xpm_INCLUDE_PATH: /usr/include
– X11_Xpm_LIB: /usr/lib64/libXpm.so
– X11_Xft_INCLUDE_PATH: /usr/include
– X11_Xft_LIB: /usr/lib64/libXft.so
– X11_Xext_INCLUDE_PATH:
– X11_Xext_LIB: /usr/lib64/libXext.so
– Could NOT find GIF (missing: GIF_LIBRARY GIF_INCLUDE_DIR)
– Could NOT find TIFF (missing: TIFF_LIBRARY TIFF_INCLUDE_DIR)
– Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
– Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
– Looking for GSL
– Found GSL: /afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/gsl/1.16/include (found suitable version "1.16", minimum required is "1.10")
– Looking for Python
– Found PythonInterp: /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/python/2.7.10/bin/python (found version "2.7.11")
– Found Python interpreter version 2.7
– Found PythonLibs: /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/python/2.7.10/lib/libpython2.7.so (found version "2.7.11")
– Looking for GCCXML
– Looking for OpenGL
– Found OpenGL: /usr/lib64/libGL.so
– Looking for Kerberos 5
– Could NOT find KRB5 (missing: KRB5_LIBRARY KRB5_INCLUDE_DIR)
– Kerberos 5 not found. Switching off krb5 option
– Looking for LibXml2
– Found LibXml2: /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/python/2.7.10/lib/libxml2.so (found version "2.9.2")
– Looking for Castor
– Castor not found. Switching off castor/rfio option
– Looking for MySQL
– Could NOT find MYSQL (missing: MYSQL_INCLUDE_DIR MYSQL_LIBRARIES)
– MySQL not found. Switching off mysql option
– Looking for Oracle
– Oracle not found.
– Oracle: You can specify includes: -DORACLE_PATH_INCLUDES=/usr/include/oracle/10.2.0.3/client
– currently found includes:
– Oracle: You can specify libs: -DORACLE_PATH_LIB=/usr/lib/oracle/10.2.0.3/client/lib
– currently found libs: ORACLE_LIBRARY_OCCI-NOTFOUND;ORACLE_LIBRARY_CLNTSH-NOTFOUND;ORACLE_LIBRARY_LNNZ-NOTFOUND
– Oracle not found. Switching off oracle option
– Looking for ODBC
– ODBC not found. Switching off odbc option
– Looking for SQLite
– Found PkgConfig: /usr/bin/pkg-config (found version "0.27.1")
– Found Sqlite: /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/python/2.7.10/include
– Looking for FFTW3
– Looking for CFITSIO
– Found CFITSIO: /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/cfitsio/v3370/include
– Found CFITSIO version: 3.37
– Looking for XROOTD
– Downloading and building XROOTD version 3.3.6
– Performing Test CXX_HAS_Wno_duplicate_decl_specifier
– Performing Test CXX_HAS_Wno_duplicate_decl_specifier - Success
– Could NOT find LDAP (missing: LDAP_INCLUDE_DIR LDAP_LIBRARY)
– ldap library not found. Set variable LDAP_DIR to point to your ldap installation
– For the time being switching OFF 'ldap' option
– >>> Option 'chirp' not implemented yet! Signal your urgency to pere.mato@cern.ch
– >>> Option 'pch' not implemented yet! Signal your urgency to pere.mato@cern.ch
– Enabled support for: asimage astiff builtin_afterimage builtin_ftgl builtin_freetype builtin_glew builtin_pcre builtin_lzma builtin_xrootd cintex exceptions explicitlink fftw3 fitsio fortran gdml genvector gsl_shared mathmore memstat minuit2 opengl python reflex shadowpw shared sqlite table thread tmva unuran xft xml x11 xrootd
– Performing Test CXX_HAS_Wno_strict_aliasing
– Performing Test CXX_HAS_Wno_strict_aliasing - Success
– Performing Test CXX_HAS_Wno_ignored_qualifiers
– Performing Test CXX_HAS_Wno_ignored_qualifiers - Success
– Performing Test CXX_HAS_Wno_potentially_evaluated_expression
– Performing Test CXX_HAS_Wno_potentially_evaluated_expression - Success
– Performing Test C_HAS_Wno_uninitialized
– Performing Test C_HAS_Wno_uninitialized - Success
– Performing Test CXX_HAS_Wno_parentheses_equality
– Performing Test CXX_HAS_Wno_parentheses_equality - Success
Running /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/ROOT/root_v5.34.34-src/build/unix/compiledata.sh
Making include/compiledata.h
– 349/594 tutorials have been vetoed for various reasons
– Configuring done
– Generating done
– Build files have been written to: /afs/slac/g/glast/ground/GLAST_EXT/redhat7-x86_64-64bit-gcc48/ROOT/root_v5.34.34-build

cmake --build . --target install
(cmake -DCMAKE_INSTALL_PREFIX=/tmp/root -P cmake_install.cmake) unnecessary

redhat6-x86_64-64bit-gcc44

https://d35c7d8c.web.cern.ch/building-root
includes xrootd 3.3.6

cmake -Dalien:BOOL=off -Dbonjour:BOOL=OFF -Dbuiltin_freetype=ON -Dbuiltin_pcre:BOOL=ON -Dbuiltin_xrootd:BOOL=ON -Dcxx11:BOOL=OFF -Dcastor:BOOL=OFF -Ddcache:BOOL=OFF -Dfail-on-missing:BOOL=OFF -Dgdml:BOOL=ON -Dgfal:BOOL=OFF -Dglite:BOOL=OFF -Dgsl_shared:BOOL=ON -Dgviz:BOOL=OFF -Dhdfs:BOOL=OFF -Dminuit2:BOOL=ON -Dmonalisa:BOOL=OFF =Dopengl:BOOL=OFF -Dpgsql:BOOL=OFF -Dpythia6:BOOL=OFF -Dpythia8:BOOL=OFF -Drootfit:BOOL=ON -Drfio:BOOL=ON -Dsapdb:BOOL=OFF -Dsrp:BOOL=OFF -Dssl:BOOL=OFF -Dtable:BOOL=ON -Dtesting:BOOL=ON -Dunuran:BOOL=ON -Dx11:BOOL=ON -DORACLE_DIR=/usr/oracle -DORACLE_PATH_INCLUDES=/usr/oracle/rdbms/public -DORACLE_PATH_LIB=/usr/oracle/lib -DORACLE_OCI_VERSION=11 -DPYTHON_EXECUTABLE=$GLAST_EXT/python/2.7.10/bin/python -DPYTHON_INCLUDE_DIR=$GLAST_EXT/python/2.7.10/include/python2.7 -DPYTHON_LIBRARY=$GLAST_EXT/python/2.7.10/lib/libpython2.7.so -DMYSQL_DIR=$GLAST_EXT/mysql/5.1.39-gl2 -DMYSQL_CONFIG_EXECUTABLE=$GLAST_EXT/mysql/5.1.39-gl2/bin/mysql_config -DCFITSIO_INCLUDE_DIR=$GLAST_EXT/cfitsio/v3370/include -DCFITSIO_LIBRARY=$GLAST_EXT/cfitsio/v3370/lib/libcfitsio.so -DFFTW_INCLUDE_DIR=$GLAST_EXT/fftw/3.1.2-gl1/include -DFFTW_LIBRARY=$GLAST_EXT/fftw/3.1.2-gl1/lib/libfftw3.so $GLAST_EXT/ROOT/v5.34.34-src/root

 Resulting Output:
– The C compiler identification is GNU 4.4.7
– The CXX compiler identification is GNU 4.4.7
– Check for working C compiler: /usr/bin/cc
– Check for working C compiler: /usr/bin/cc – works
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working CXX compiler: /usr/bin/c++
– Check for working CXX compiler: /usr/bin/c++ – works
– Detecting CXX compiler ABI info
– Detecting CXX compiler ABI info - done
– The Fortran compiler identification is GNU
– Check for working Fortran compiler: /usr/bin/gfortran
– Check for working Fortran compiler: /usr/bin/gfortran – works
– Detecting Fortran compiler ABI info
– Detecting Fortran compiler ABI info - done
– Checking whether /usr/bin/gfortran supports Fortran 90
– Checking whether /usr/bin/gfortran supports Fortran 90 – yes
– Found GCC. Major version 4, minor version 4
– CMAKE_BUILD_TYPE: RelWithDebInfo
– Performing Test CXX_HAS_Wno-array-bounds
– Performing Test CXX_HAS_Wno-array-bounds - Success
– Performing Test CXX_HAS_Wno-strict-aliasing
– Performing Test CXX_HAS_Wno-strict-aliasing - Success
– Looking for include file pthread.h
– Looking for include file pthread.h - found
– Looking for pthread_create
– Looking for pthread_create - not found
– Looking for pthread_create in pthreads
– Looking for pthread_create in pthreads - not found
– Looking for pthread_create in pthread
– Looking for pthread_create in pthread - found
– Found Threads: TRUE
– Found a 64bit system
– Found GNU compiler collection
– Performing Test CXX_HAS_Wno_deprecated_declarations
– Performing Test CXX_HAS_Wno_deprecated_declarations - Success
– ROOT Platform: linux
– ROOT Architecture: linuxx8664gcc
– Build Type: RelWithDebInfo
– Compiler Flags: -pipe -m64 -Wall -W -Woverloaded-virtual -fPIC -pthread -Wno-deprecated-declarations
– Looking for ZLib
– Found ZLIB: /usr/lib64/libz.so (found version "1.2.3")
– Looking for LZMA
– Found LZMA includes at /usr/include
– Found LZMA library at /usr/lib64/liblzma.so
– Looking for X11
– Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
– Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
– Looking for gethostbyname
– Looking for gethostbyname - found
– Looking for connect
– Looking for connect - found
– Looking for remove
– Looking for remove - found
– Looking for shmat
– Looking for shmat - found
– Looking for IceConnectionNumber in ICE
– Looking for IceConnectionNumber in ICE - found
– Found X11: /usr/lib64/libX11.so
– X11_INCLUDE_DIR: /usr/include
– X11_LIBRARIES: /usr/lib64/libSM.so;/usr/lib64/libICE.so;/usr/lib64/libX11.so;/usr/lib64/libXext.so
– X11_Xpm_INCLUDE_PATH: /usr/include
– X11_Xpm_LIB: /usr/lib64/libXpm.so
– X11_Xft_INCLUDE_PATH: /usr/include
– X11_Xft_LIB: /usr/lib64/libXft.so
– X11_Xext_INCLUDE_PATH:
– X11_Xext_LIB: /usr/lib64/libXext.so
– Performing Test GIF_GifFileType_UserData
– Performing Test GIF_GifFileType_UserData - Success
– Found GIF: /usr/lib64/libgif.so (found version "4")
– Found TIFF: /usr/lib64/libtiff.so (found version "3.9.4")
– Found PNG: /usr/lib64/libpng.so (found version "1.2.49")
– Found JPEG: /usr/lib64/libjpeg.so
– Looking for GSL
– Found GSL: /usr/include (found suitable version "1.13", minimum required is "1.10")
– Looking for Python
– Found PythonInterp: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.10/bin/python (found version "2.7.10")
– Found Python interpreter version 2.7
– Found PythonLibs: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.10/lib/libpython2.7.so (found version "2.7.10")
– Looking for GCCXML
– Looking for OpenGL
– Found OpenGL: /usr/lib64/libGL.so
– Looking for Kerberos 5
– Found KRB5: /usr/lib64/libkrb5.so
– Looking for LibXml2
– Found LibXml2: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.10/lib/libxml2.so (found version "2.7.6")
– Looking for Castor
– Castor not found. Switching off castor/rfio option
– Looking for MySQL
– Found MYSQL: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/mysql/5.1.39-gl2/include/mysql
– Looking for Oracle
– Found Oracle: /usr/oracle/lib/libocci.so;/usr/oracle/lib/libclntsh.so;/usr/oracle/lib/libnnz11.so
– Looking for ODBC
– Looking for SQLite
– Found PkgConfig: /usr/bin/pkg-config (found version "0.23")
– Found Sqlite: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.10/include
– Looking for FFTW3
– Looking for CFITSIO
– Found CFITSIO: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/cfitsio/v3370/include
– Found CFITSIO version: 3.37
– Looking for XROOTD
– Downloading and building XROOTD version 3.3.6
– Performing Test CXX_HAS_Wno_duplicate_decl_specifier
– Performing Test CXX_HAS_Wno_duplicate_decl_specifier - Success
– Found LDAP: /usr/include
– >>> Option 'chirp' not implemented yet! Signal your urgency to pere.mato@cern.ch
– >>> Option 'pch' not implemented yet! Signal your urgency to pere.mato@cern.ch
– Enabled support for: asimage astiff builtin_afterimage builtin_ftgl builtin_freetype builtin_glew builtin_pcre builtin_xrootd cintex exceptions explicitlink fftw3 fitsio fortran gdml genvector gsl_shared krb5 ldap mathmore memstat minuit2 mysql odbc opengl oracle python reflex shadowpw shared sqlite table thread tmva unuran xft xml x11 xrootd
– Performing Test CXX_HAS_Wno_strict_aliasing
– Performing Test CXX_HAS_Wno_strict_aliasing - Success
– Performing Test CXX_HAS_Wno_ignored_qualifiers
– Performing Test CXX_HAS_Wno_ignored_qualifiers - Success
– Performing Test CXX_HAS_Wno_potentially_evaluated_expression
– Performing Test CXX_HAS_Wno_potentially_evaluated_expression - Success
– Performing Test C_HAS_Wno_uninitialized
– Performing Test C_HAS_Wno_uninitialized - Success
– Performing Test CXX_HAS_Wno_parentheses_equality
– Performing Test CXX_HAS_Wno_parentheses_equality - Success
Running /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/ROOT/v5.34.34-build/root/build/unix/compiledata.sh
Making include/compiledata.h
– 349/594 tutorials have been vetoed for various reasons
– Configuring done
– Generating done
– Build files have been written to: /afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/ROOT/v5.34.34

But upon building via
cmake --build .

cmake -DCMAKE_INSTALL_PREFIX=$GLAST_EXT/ROOT/v5.34.34-gl1 -P cmake_install.cmake

v5.34.03

snowleopard

  • Unpack ROOT source
  • update cmake scripts to replace m64 with m32, as the cmake initialiation seems to find 64 bit on bldmac02, but we want 32bit builds
  • Setup environment
    • setenv PATH
    • setenv PYTHONHOME
    • setenv PYTHONPATH
  • mkdir install
  • mkdir build
  • cd build
  • cmake
  • make >& build.log &
  • make install

Windows-i386-32bit-vc90

Trying cmake builds

  • Obtain source and gunzip and untar
  • Open Command Prompt
  • C:\"Program Files\Microsoft Visual Studio 9.0"\Common7\Tools\vsvars32.bat
  • Make sure only one copy of Python is in your path
  • set LIB
  • set PATH
  • set INCLUDE
  • create a cmakeBuild subdirectory separate from the source
  • cmake -DCMAKE_INSTALL_PREFIX=C:\buildRoot\install -DCMAKE_BUILD_TYPE=Debug -G "Visual Studio 9 2008"
  • Edit the resulting CmakeCache.txt file to reflect the appropriate settings for our build - turning off odbc, turning on table, unran, minut2.  Note roofit consistently fails on Windows due to a line too large error
  • Rerun cmake
  • Open the resulting ROOT.sln
  • Build ALL_BUILD
  • May need to perform INSTALL step separately (it is located under "CMakePredefinedTargets"

redhat5-i686-32bit-gcc41

  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built. Obtain FFTW 3.1.2 from GLAST_EXT
  • Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD "make" "make install"
  • obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.34.01-src.tar.gz and unpack, it will be dumped into a directory named "root"
  • Obtain xrootd source from the site:  
  • Following instructions at ROOT website:  http://root.cern.ch/drupal/content/installing-xrootd
    build/unix/installXrootd.sh <installationDir> -v 3.2.4 -t <xroottarball>
  • export EXTRA_LDFLAGS=-pthread
  • add python bin dir to PATH
  • Run ./configure
    ./configure linux --fail-on-missing --enable-builtin-pcre --enable-krb5 --enable-mysql --with-mysql-incdir=$GLAST_EXT/mysql/5.1.39-gl1/include/mysql --with-mysql-libdir=$GLAST_EXT/mysql/5.1.39-gl1/lib/mysql --enable-xrootd --with-xrootd=$GLAST_EXT/xrootd/3.2.4/xrootd-3.2.4 --enable-python --with-python-incdir=$GLAST_EXT/python/2.7.2/include/python2.7 --with-python-libdir=$GLAST_EXT/python/2.7.2/lib --enable-reflex --enable-cintex --enable-roofit --enable-oracle --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathmore --with-fftw3-incdir=$GLAST_EXT/fftw/3.1.2/gcc41/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc41/lib --with-gsl-incdir=$GLAST_EXT/gsl/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/gsl/gsl-1.10/lib > & config-rhel5.log &
  • make
  • May have to manually get by the libpyROOT.so link by copying the failed line and adding -pthread -lutil -Xlinker -explicit-dynamic
    Then restart make and carry on to the end

v5.34.01

redhat5-i686-32bit-gcc41

  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built. Obtain FFTW 3.1.2 from GLAST_EXT
  • Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD "make" "make install"
  • obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.34.01-src.tar.gz and unpack, it will be dumped into a directory named "root"
  • Obtain xrootd source from the site:  
  • Following instructions at ROOT website:  http://root.cern.ch/drupal/content/installing-xrootd
    build/unix/installXrootd.sh <installationDir> -v 3.2.4 -t <xroottarball>
  • Run ./configure
    ./configure linux --fail-on-missing --enable-builtin-pcre --enable-krb5 --enable-mysql --with-mysql-incdir=$GLAST_EXT/mysql/5.1.39-gl1/include/mysql --with-mysql-libdir=$GLAST_EXT/mysql/5.1.39-gl1/lib/mysql --enable-xrootd --with-xrootd=$GLAST_EXT/xrootd/3.2.4/xrootd-3.2.4 --enable-python --with-python-incdir=$GLAST_EXT/python/2.7.1-gl1/include/python2.7 --with-python-libdir=$GLAST_EXT/python/2.7.1-gl1/lib --enable-reflex --enable-cintex --enable-roofit --enable-oracle --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathmore --with-fftw3-incdir=$GLAST_EXT/fftw/3.1.2/gcc41/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc41/lib --with-gsl-incdir=$GLAST_EXT/gsl/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/gsl/gsl-1.10/lib > & config-rhel5.log &
  • make

redhat5-x86_64-64bit-gcc41

  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built. Obtain FFTW 3.1.2 from GLAST_EXT
  • Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD "make" "make install"
  • obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.34.01-src.tar.gz and unpack, it will be dumped into a directory named "root"
  • Obtain xrootd source from the site:  
  • Following instructions at ROOT website:  http://root.cern.ch/drupal/content/installing-xrootd
    build/unix/installXrootd.sh <installationDir> -v 3.2.4 -t <xroottarball>
  • Run ./configure (Note dropped Oracle support due to lack of true 64 bit oracle libs on rhel5-64 at SLAC, should be fine as oracle is only used for GR systems tests, and there no plans to port GR to rhel5-64)
    ./configure linuxx8664gcc --fail-on-missing --enable-builtin-pcre --enable-krb5 --enable-mysql --with-mysql-incdir=$GLAST_EXT/mysql/5.1.39-gl1/include/mysql --with-mysql-libdir=$GLAST_EXT/mysql/5.1.39-gl1/lib/mysql --enable-xrootd --with-xrootd=$GLAST_EXT/xrootd/xrootd-3.2.4 --enable-python --with-python-incdir=$GLAST_EXT/python/2.7.2/include/python2.7 --with-python-libdir=$GLAST_EXT/python/2.7.2/lib --enable-reflex --enable-cintex --enable-roofit --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathmore --with-fftw3-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/fftw/3.1.2/gcc41/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc41/lib --with-gsl-incdir=$GLAST_EXT/gsl/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/gsl/gsl-1.10/lib >& config-rhel5-64-2.log &

redhat6-x86_64-64bit-gcc44

Similar to redhat5, using this configure step:

./configure linuxx8664gcc --fail-on-missing --enable-builtin-pcre --enable-krb5 --enable-mysql --with-mysql-incdir=$GLAST_EXT/mysql/5.1.39-gl2/include/mysql --with-mysql-libdir=$GLAST_EXT/mysql/5.1.39-gl2/lib/mysql --enable-xrootd --with-xrootd=$GLAST_EXT/xrootd/xrootd-3.2.4 --enable-python --with-python-incdir=$GLAST_EXT/python/2.7.2-gl4/include/python2.7 --with-python-libdir=$GLAST_EXT/python/2.7.2-gl4/lib --enable-reflex --enable-cintex --enable-roofit --enable-oracle --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathmore --with-fftw3-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/fftw/3.1.2/gcc44/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc44/lib --with-gsl-incdir=$GLAST_EXT/gsl/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/gsl/gsl-1.10/lib >& config-rhel6.log &

Windows-i386-32bit-vc90

Note:  No xrootd, as windows support has been dropped

Initial attempts to use the new cmake build failed, retreated to using the cygwin build system

  • Obtain the source from $GLAST_EXT/../srcExtLibs/root_v5.34.01.src.tar.gz
  • Unpack which will create a directory called root
  • Start up DOS Command prompt
  • set PATH=
  • set LIB=
  • set INCLUDE=
  • execute "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
  • run setupvc9.bat:
    set ROOTSYS=C:\heather\buildRoot\root
    set PYTHONDIR=C:\Python27
    set PYTHONPATH=%ROOTSYS%\bin
    set ROOTBUILD=debug
    set LIB=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib;%LIB%;%ROOTSYS%\lib
    set PATH=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Python25;%ROOTSYS%\bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;%PATH%;%ROOTSYS%\lib
    set INCLUDE=C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include;include;%INCLUDE%
  • Start up cygwin:  bash --login -i
  • cd $ROOTSYS
  • ./configure win32 --enable-roofit --enable-minuit2 --enable-table --enable-python --disable-odbc --enable-gdml --enable-reflex --enable-cintex --with-fftw3-incdir=C:/heather/buildroot/fftw3/3.1.2/win32_vc90/include --with-fftw3-libdir=C:/heather/buildroot/fftw3/3.1.2/win32_vc90/lib --with-gccxml=C:/heather/buildroot/GCC_XML/bin --with-python-libdir=C:/Python27/libs --with-python-incdir=C:/Python27/include --enable-mathmore --with-gsl-incdir=C:/heather/buildroot/GSL/1.10/win32_vc90/include --with-gsl-libdir=C:/heather/buildrooot/GSL/1.10/win32_vc90/lib --enable-winrtdebug
  • Note the use of --enable-winrtdebug to set up a DEBUG build, leave off for OPT
  • make
  • set PATH=%ROOTSYS%\bin;%PATH and start up root

v5.26.00a-gl6

redhat6-x86_64-64bit-gcc44

  • Build on rhel6-64
  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built.  Obtain FFTW 3.1.2 from GLAST_EXT
    Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD  "make"  "make install"
    obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml  (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl6-src.tar.gz and unpack, it will be dumped into a directory named "root"
  • set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  • Run configure: ./configure --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/mysql/5.1.39/gcc4.4/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/mysql/5.1.39/gcc4.4/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.2/gcc44/include/python2.7 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.2/gcc44/lib/python2.7/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-fftw3-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/fftw/3.1.2/gcc44/include --with-fftw3-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/fftw/3.1.2/gcc44/lib --with-gsl-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/gsl/gsl-1.10/include --with-gsl-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/gsl/gsl-1.10/lib >&config-rhel6.log
  • Build by running "make >& build-rhel6.log &"
  • Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  • Copy the following into $GLAST_EXT using the directory structure:
    ROOT/5.26.00a-gl6/gcc44/
    README bin build-rhel6.log cint config-rhel6.log doc etc fonts icons include lib macros man test tutorials

v5.26.00a-gl3

Rebuild of pyRoot using v5.26.00a-gl2 source, but built against python 2.6.5

snowleopard-i386-32bit-gcc42

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl3.tar.gz and unpack, it will be dumped into a directory named "root"
  2. Need fftw3, gccxml, GSL to be built.  Obtain FFTW 3.1.2 from GLAST_EXT
    Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD  "make"  "make install"
    obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml  (where gccxml contains the downloaded source)
    make
    make install
  3. setup your environment, where we have cd'd into the root directory created when the source was unpacked:
    setenv GLAST_EXT /afs/slac/g/glast/ground/GLAST_EXT/snowleopard-i386-32bit-gcc42/
    setenv ROOTSYS $PWD
    setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${ROOTSYS}/lib/root
    setenv PATH            ${GLAST_EXT}/python/2.6.5/gcc40/bin:/bin:/sbin:/usr/b
    in:/usr/sbin:@sys/usr/bin:${ROOTSYS}/bin
    setenv PYTHONHOME ${GLAST_EXT}/python/2.6.5/gcc40/lib/python2.6
    setenv PYTHONPATH ${PYTHONHOME}:${ROOTSYS}/bin:${ROOTSYS}/lib:$
    Unknown macro: {GLAST_EXT}

    /python/2.6.5/gcc42/lib/python2.6/lib-dynload/$

    /python/2.6.5/gcc42/lib/python2.6/lib-dynload/
    setenv DYLD_LIBRARY_PATH ${ROOTSYS}/lib
  4. Run configure:
    ./configure --disable-mysql --enable-python --with-python-incdir=$GLAST_EXT/python/2.6.5/gcc40/include/python2.6 --with-python-libdir=$GLAST_EXT/python/2.6.5/gcc42/lib/python2.6/config --enable-roofit --disable-odbc --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/ROOT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-gsl-incdir=$GLAST_EXT/ROOT/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/ROOT/gsl-1.10/lib --with-fftw3-incdir=$GLAST_EXT/fftw/3.1.2/gcc42/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc42/lib > & config-snowleopard.log &
  1. Build by running "make >& build-snowleopard.log &"
  2. libPyROOT.dylib must be rebuilt, due to a need to make it a "bundle" rather than "shared library":
    cd into pyroot/src directory and do:
    g++ -flat_namespace -bundle *.o -bundle_loader $GLAST_EXT/python/2.6.5/gcc42/bin/python -L$ROOTSYS/lib -ldl -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lMathCore -lThread -lReflex -L$GLAST_EXT/python/2.6.5/gcc42/lib/python2.6/config -lpython2.6 -o libPyROOT.so
    See:  https://savannah.cern.ch/bugs/index.php?22003
  3. The *.dylib files will have their references to other ROOT libraries hard-coded.  This must be fixed before the libraries can be distributed.  Both the ids and the ROOT libraries referenced must be updated.
    1. First check the id and references using:
      otool -L name.dylib.  i.e.  otool -L libCint.dylib
    2. Next update the id using the command: 
      install_name_tool -id newID fileName  i.e. install_name_tool -id libCint.dylib libCint.dylib
    3. For any ROOT libraries referenced do: 
      install_name_tool -change oldName newName fileName  i.e install_name_tool -change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
  4. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  5. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl2/gcc42/
    README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials

v5.26.00a-gl2

Patch to TMVA's Reader.cxx included in v5.26.00b

redhat6-x86_64-64bit-gcc44

  • Build on rhel6-64
  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built.  Obtain FFTW 3.1.2 from GLAST_EXT
    Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD  "make"  "make install"
    obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml  (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl1.src..tar.gz and unpack, it will be dumped into a directory named "root"
  • set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  • Run configure: ./configure --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/mysql/5.1.39/gcc4.4/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/mysql/5.1.39/gcc4.4/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.2/gcc4.4/include/python2.7 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/python/2.7.2/gcc4.4/lib/python2.7/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-fftw3-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/fftw/3.1.2/gcc4.4/include --with-fftw3-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/fftw/3.1.2/gcc4.4/lib --with-gsl-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/gsl/gsl-1.10/include --with-gsl-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat6-x86_64-64bit-gcc44/gsl/gsl-1.10/lib >&config-rhel6.log
  • If ./include/TGGC.h file doesn't exists or is an empty file then "cp ./gui/gui/inc/TGGC.h to ./include"
  • Build by running "make >& build-rhel6.log &"
  • Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  • Copy the following into $GLAST_EXT using the directory structure:
    ROOT/5.26.00a-gl2/gcc44/
    README bin build-rhel6.log cint config-rhel6.log doc etc fonts icons include lib macros man test tutorials

tiger-i386-32bit-gcc40

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.20.00-gl5.tar.gz and unpack, it will be dumped into a directory named "root"
  2. setup your environment, where we have cd'd into the root directory created when the source was unpacked:
    setenv GLAST_EXT /afs/slac/g/glast/ground/GLAST_EXT/tiger-i386-32bit-gcc40/
    setenv ROOTSYS $PWD
    setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${ROOTSYS}/lib/root
    setenv PATH            ${GLAST_EXT}/python/2.5.1-gl3/gcc40/bin:/bin:/sbin:/usr/b
    in:/usr/sbin:@sys/usr/bin:${ROOTSYS}/bin
    setenv PYTHONHOME ${GLAST_EXT}/python/2.5.1-gl3/gcc40/lib/python2.5
    setenv PYTHONPATH ${PYTHONHOME}:${ROOTSYS}/bin:${ROOTSYS}/lib
    setenv DYLD_LIBRARY_PATH ${ROOTSYS}/lib
  3. Run configure:
    ./configure --disable-mysql --enable-python --with-python-incdir=/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/tiger-i386-32bit-gcc40/python/2.5.1-gl4/gcc40/include/python2.5 --with-python-libdir=/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/tiger-i386-32bit-gcc40/python/2.5.1-gl4/gcc40/lib/python2.5/config --enable-roofit --disable-odbc --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/ROOT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-gsl-incdir=$GLAST_EXT/ROOT/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/ROOT/gsl-1.10/lib --with-fftw3-incdir=$GLAST_EXT/fftw/3.1.2/gcc40/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc40/lib > & config-tiger.log &
  1. Build by running "make >& build-tiger.log &"
  2. libPyROOT.dylib must be rebuilt, due to a need to make it a "bundle" rather than "shared library":
    cd into pyroot/src directory and do:
    g++ -flat_namespace -bundle *.o -bundle_loader $GLAST_EXT/python/2.5.1-g3/gcc40/bin/python -L$ROOTSYS/lib -ldl -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lMathCore -lThread -lReflex -L$GLAST_EXT/python/2.5.1-gl3/gcc40/lib/python2.5/config -lpython2.5 -o libPyROOT.dylib
    See:  https://savannah.cern.ch/bugs/index.php?22003
  3. The *.dylib files will have their references to other ROOT libraries hard-coded.  This must be fixed before the libraries can be distributed.  Both the ids and the ROOT libraries referenced must be updated.
    1. First check the id and references using:
      otool -L name.dylib.  i.e.  otool -L libCint.dylib
    2. Next update the id using the command: 
      install_name_tool -id newID fileName  i.e. install_name_tool -id libCint.dylib libCint.dylib
    3. For any ROOT libraries referenced do: 
      install_name_tool -change oldName newName fileName  i.e install_name_tool -change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
  4. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  5. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl2/gcc40/
    README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials

snowleopard-i386-32bit-gcc42

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl2.tar.gz and unpack, it will be dumped into a directory named "root"
  2. setup your environment, where we have cd'd into the root directory created when the source was unpacked:
    setenv GLAST_EXT /afs/slac/g/glast/ground/GLAST_EXT/snowleopard-i386-32bit-gcc42/
    setenv ROOTSYS $PWD
    setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${ROOTSYS}/lib/root
    setenv PATH            ${GLAST_EXT}/python/2.6.5/gcc40/bin:/bin:/sbin:/usr/b
    in:/usr/sbin:@sys/usr/bin:${ROOTSYS}/bin
    setenv PYTHONHOME ${GLAST_EXT}/python/2.6.5/gcc40/lib/python2.6
    setenv PYTHONPATH ${PYTHONHOME}:${ROOTSYS}/bin:${ROOTSYS}/lib
    setenv DYLD_LIBRARY_PATH ${ROOTSYS}/lib
  3. Run configure:
    ./configure --disable-mysql --enable-python --with-python-incdir=$GLAST_EXT/python/2.6.5/gcc40/include/python2.6 --with-python-libdir=$GLAST_EXT/python/2.6.5/gcc40/lib/python2.6/config --enable-roofit --disable-odbc --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$GLAST_EXT/ROOT/gccxml/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-gsl-incdir=$GLAST_EXT/ROOT/gsl-1.10/include --with-gsl-libdir=$GLAST_EXT/ROOT/gsl-1.10/lib --with-fftw3-incdir=$GLAST_EXT/fftw/3.1.2/gcc40/include/fftw --with-fftw3-libdir=$GLAST_EXT/fftw/3.1.2/gcc40/lib > & config-snowleopard.log &
  1. Build by running "make >& build-snowleopard.log &"
  2. libPyROOT.dylib must be rebuilt, due to a need to make it a "bundle" rather than "shared library":
    cd into pyroot/src directory and do:
    g++ -flat_namespace -bundle *.o -bundle_loader $GLAST_EXT/python/2.5.1-g3/gcc40/bin/python -L$ROOTSYS/lib -ldl -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lMathCore -lThread -lReflex -L$GLAST_EXT/python/2.5.1-gl3/gcc40/lib/python2.5/config -lpython2.5 -o libPyROOT.dylib
    See:  https://savannah.cern.ch/bugs/index.php?22003
  3. The *.dylib files will have their references to other ROOT libraries hard-coded.  This must be fixed before the libraries can be distributed.  Both the ids and the ROOT libraries referenced must be updated.
    1. First check the id and references using:
      otool -L name.dylib.  i.e.  otool -L libCint.dylib
    2. Next update the id using the command: 
      install_name_tool -id newID fileName  i.e. install_name_tool -id libCint.dylib libCint.dylib
    3. For any ROOT libraries referenced do: 
      install_name_tool -change oldName newName fileName  i.e install_name_tool -change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
  4. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  5. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl2/gcc42/
    README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials

v5.26.00a-gl1

Includes patch to TMVA Config.h and Config.cxx for windows

redhat5-x86_64-64bit-gcc41

  • Build on rhel5-64
  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built.  Obtain FFTW 3.1.2 from GLAST_EXT
    Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure CFLAGS="-fPIC" --prefix=$PWD  "make"  "make install"
    obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml  (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl1.src..tar.gz and unpack, it will be dumped into a directory named "root"
  • set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  • Run configure:
     ./configure --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/mysql/5.1.39/gcc41/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-x86_64-64bit-gcc41/mysql/5.1.39/gcc41/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-x86_64-64bit-gcc41/python/2.5.1-gl1/gcc41/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-x86_64-64bit-gcc41/python/2.5.1-gl1/gcc41/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$workDir/gaudi-external-v21r7-rhel5/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-fftw3-incdir=$GLAST_EXT/../redhat5-x86_64-64bit-gcc41/fftw/3.1.2/gcc41/include/fftw --with-fftw3-libdir=$GLAST_EXT/../redhat5-x86_64-64bit-gcc41/fftw/3.1.2/gcc41/lib --with-gsl-incdir=$workDir/gaudi-external-v21r7-rhel5/gsl-1.10/include --with-gsl-libdir=$workDir/gaudi-external-v21r7-rhel5/gsl-1.10/lib >&config-redhat5.log
  • Build by running "make >& build-rhel5.log &"
  • Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  • Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl1/gcc41/
    README bin build-rhel5.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

redhat5-i686-32bit-gcc41

  • Build on rhel5-32 or bldlnx09
  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built.  Obtain FFTW 3.1.2 from GLAST_EXT
    Obtain GSL 1.10 from: http://www.gnu.org/software/gsl; ./configure --prefix=$PWD  "make"  "make install"
    obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml  (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl1.src..tar.gz and unpack, it will be dumped into a directory named "root"
  • set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  • Run configure:
     ./configure linux --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/mysql/5.1.39/gcc41/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/mysql/5.1.39/gcc41/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/python/2.5.1-gl1/gcc41/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat5-i686-32bit-gcc41/python/2.5.1-gl1/gcc41/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$workDir/gaudi-external-v21r7-rhel5/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-fftw3-incdir=$GLAST_EXT/../redhat5-i686-32bit-gcc41/fftw/3.1.2/gcc41/include/fftw --with-fftw3-libdir=$GLAST_EXT/../redhat5-i686-32bit-gcc41/fftw/3.1.2/gcc41/lib --with-gsl-incdir=$workDir/gaudi-external-v21r7-rhel5/gsl-1.10/include --with-gsl-libdir=$workDir/gaudi-external-v21r7-rhel5/gsl-1.10/lib >&config-redhat5.log
  • Build by running "make >& build-rhel5.log &"
  • Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  • Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl1/gcc41/
    README bin build-rhel5.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

redhat4-x86_64-64bit-gcc34

  • Build on rhel4-64
  • Requires our MySQL installation, as well as Oracle
  • Need fftw3, gccxml, GSL to be built.  Obtain FFTW 3.1.2 from GLAST_EXT
    Obtain GSL 1.10 from: http://www.gnu.org/software/gsl/&nbsphttp://www.gnu.org/software/gsl/; ./configure CFLAGS="-fPIC" --prefix=$PWD  "make"  "make install"
    obtain gccxml 0.9.0_20090601 from http://lcgsoft.cern.ch/index.py?page=pkg_version&pkg=gccxml&vers=0.9.0_20090601 require cmake to build: http://www.cmake.org/cmake/resources/software.html
    mkdir gccxml-build
    cd gccxml-build
    cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml  (where gccxml contains the downloaded source)
    make
    make install
  • Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl1.src..tar.gz and unpack, it will be dumped into a directory named "root"
  • set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  • run ./configure  (note that "linux" is left unspecified)
     ./configure --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/mysql/5.1.39/gcc34/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/mysql/5.1.39/gcc34/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/python/2.5.1-gl1/gcc34/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/python/2.5.1-gl1/gcc34/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$workDir/gaudi-external-v21r7-rhel4-64/gccxml-build/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-fftw3-incdir=$GLAST_EXT/../redhat4-x86_64-64bit-gcc34/fftw/3.1.2/gcc34/include/fftw --with-fftw3-libdir=$GLAST_EXT/../redhat4-x86_64-64bit-gcc34/fftw/3.1.2/gcc34/lib --with-gsl-incdir=$workDir/gaudi-external-v21r7-rhel4-64/gsl-1.10/include --with-gsl-libdir=$workDir/gaudi-external-v21r7-rhel4-64/gsl-1.10/lib > & config-redhat4.log &
  • Build by running "make >& build-rhel4.log &"
  • Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  • Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl1/gcc34/
    README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

redhat4-i686-32bit-gcc34

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl1.src..tar.gz and unpack, it will be dumped into a directory named "root"
  2. set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  3. Run configure:
    ./configure linux --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/mysql/5.1.39/gcc34/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/mysql/5.1.39/gcc34/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/python/2.5.1-gl1/gcc34/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/python/2.5.1-gl1/gcc34/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$userSpace/root-v5.26-gl1/gccxml/0.9.0_20090601/slc4_ia32_gcc34/bin --enable-gdml --enable-genvector --enable-mathcore --enable-mathmore --with-fftw3-incdir=$userSpace/root-v5.26-gl1/fftw3/3.1.2/slc4_ia32_gcc34/include --with-fftw3-libdir=$userSpace/root-v5.26-gl1/fftw3/3.1.2/slc4_ia32_gcc34/lib --with-gsl-incdir=$userSpace/root-v5.26-gl1/GSL/1.10/slc4_ia32_gcc34/include --with-gsl-libdir=$userSpace/root-v5.26-gl1/GSL/1.10/slc4_ia32_gcc34/lib  > & config-rhel4.log &
  4. Build by running "make >& build-rhel4.log &"
  5. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  6. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.26.00a-gl1/gcc34/
    README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

Windows

If cygwin is not already installed, installcygwin including gcc, make, etc  NOTE:  cygwin's link.exe application must be renamed, so that VC's link will be used for the build.
http://root.cern.ch/twiki/bin/view/ROOT/PatchesV5-14-00

Python 2.5.1 for windows, FFTW 3.1.2 from http://www.fftw.org/install/windows.html, obtained gccxml from Gaudi v21r7 distribution
downloaded gccxml from http://www.gccxml.org/HTML/Index.html

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.26.00a-gl1.src..tar.gz and unpack, it will be dumped into a directory named "root"
  2. In a DOS window
    set PATH=
    set LIB=
    set INCLUDE=
    "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
    set ROOTSYS=C:\heather\root-v5.20-gl1\root
    set PYTHONDIR=C:\heather\glast\extlib\python\2.5.1-gl1\vc71
    set PYTHONPATH=%ROOTSYS%\bin
    set ROOTBUILD=opt
    set LIB=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;%LIB%;%ROOTSYS%\lib
    set PATH=C:\heather\glast\extlib\python\2.5.1-gl1\vc71;%ROOTSYS%\bin;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;%PATH%;%ROOTSYS%\lib
    set INCLUDE=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\include;%INCLUDE%
  3. Start up cygwin:  bash --login -i
  4. Run ./confgure:
    ./configure win32 --enable-roofit --enable-minuit2 --enable-table --enable-python --enable-gdml --enable-unuran --disable-odbc --enable-mathmore --enable-genvector --enable-tmva --enable-reflex --enable-cintex --enable-xrootd --with-fftw3-incdir=C:/heather/root-v5.20-gl1/fftw3/3.1.2/win32_vc71/include --with-fftw3-libdir=C:/heather/root-v5.20-gl1/fftw3/3.1.2/win32_vc71/lib --with-gccxml=C:/heather/root-v5.20-gl1/GCC_XML/0.9.0_20090601/win32_vc71/bin --with-python-libdir=C:/heather/glast/extlib/python/2.5.1-gl1/vc71/libs --with-python-incdir=C:/heather/glast/extlib/python/2.5.1-gl1/vc71/include
  5. make

v5.22.00e-gl1

Includes updated xrootd from Wilko (same as in v5.20.00-gl5)

redhat4-i686-32bit-gcc34

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.22.00e-gl1.tar.gz and unpack, it will be dumped into a directory named "root"
  2. set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  3. Run configure:
    ./configure linux --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/mysql/5.1.39/gcc34/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/mysql/5.1.39/gcc34/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/python/2.5.1-gl1/gcc34/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/python/2.5.1-gl1/gcc34/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink --with-gccxml=$userSpace/gaudi_v21r4/gccxml/0.9.0_20090601/slc4_ia32_gcc34/bin --enable-gdml > & config-rhel4.log &
  4. Build by running "make >& build-rhel4.log &"
  5. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  6. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.22.00e-gl1/gcc34/
    README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

v5.20.00-gl5

We ran into a problem this time with distribution of our linux build for ROOT.  It seems prefix cannot be used, so we must set the ROOTSYS env var for our build.  make install no longer seems to work unless prefix is used, so we are left to prune the resulting ROOT build directories on our own.

redhat4-x86_64-64bit-gcc34

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.20.00-gl5.tar.gz and unpack, it will be dumped into a directory named "root"
  2. set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  3. Run configure:
    ./configure linuxx8664gcc --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/mysql/4.1.18/gcc34/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/mysql/4.1.18/gcc34/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/python/2.5.1-gl1/gcc34/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-x86_64-64bit-gcc34/python/2.5.1-gl1/gcc34/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink > & config-rhel4.log &
  4. Build by running "make >& build-rhel4.log &"
  5. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  6. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.20.00-gl4/gcc34/
    README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

redhat3-i686-32bit-gcc32

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.20.00-gl5.tar.gz and unpack, it will be dumped into a directory named "root"
  2. set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  3. Run configure:
    ./configure linux --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat3-i686-32bit-gcc32/mysql/4.1.18/gcc32/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat3-i686-32bit-gcc32/mysql/4.1.18/gcc32/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat3-i686-32bit-gcc32/python/2.5.1-gl1/gcc32/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat3-i686-32bit-gcc32/python/2.5.1-gl1/gcc32/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink > & config-rhel3.log &
  4. Build by running "make >& build-rhel3.log &"
  5. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  6. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.20.00-gl4/gcc32/
    README bin build-rhel3.log cint config-rhel3.log doc etc fonts icons include lib macros man test tutorials

redhat4-i686-32bit-gcc34

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.20.00-gl5.tar.gz and unpack, it will be dumped into a directory named "root"
  2. set ROOTSYS to the same directory as the source was checked out into.  cd into the root directory
  3. Run configure:
    ./configure linux --fail-on-missing --enable-mysql --with-mysql-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/mysql/4.1.18/gcc34/include/mysql --with-mysql-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/mysql/4.1.18/gcc34/lib/mysql --enable-xrootd --enable-python --with-python-incdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/python/2.5.1-gl1/gcc34/include/python2.5 --with-python-libdir=/afs/slac/g/glast/ground/GLAST_EXT/redhat4-i686-32bit-gcc34/python/2.5.1-gl1/gcc34/lib/python2.5/config --enable-reflex --enable-cintex --enable-roofit --with-oracle-incdir=/usr/oracle/rdbms/public --with-oracle-libdir=/usr/oracle/lib --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink > & config-rhel4.log &
  4. Build by running "make >& build-rhel4.log &"
  5. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  6. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.20.00-gl4/gcc34/
    README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

tiger-i386-32bit-gcc40

  1. Obtain Fermi's copy of the source from /afs/slac/g/glast/ground/GLAST_EXT/srcExtlibs/root-v5.20.00-gl5.tar.gz and unpack, it will be dumped into a directory named "root"
  2. setup your environment, where we have cd'd into the root directory created when the source was unpacked:
    setenv GLAST_EXT /afs/slac/g/glast/ground/GLAST_EXT/tiger-i386-32bit-gcc40/
    setenv ROOTSYS $PWD
    setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${ROOTSYS}/lib/root
    setenv PATH            ${GLAST_EXT}/python/2.5.1-gl3/gcc40/bin:/bin:/sbin:/usr/b
    in:/usr/sbin:@sys/usr/bin:${ROOTSYS}/bin
    setenv PYTHONHOME ${GLAST_EXT}/python/2.5.1-gl3/gcc40/lib/python2.5
    setenv PYTHONPATH ${PYTHONHOME}:${ROOTSYS}/bin:${ROOTSYS}/lib
    setenv DYLD_LIBRARY_PATH ${ROOTSYS}/lib
  3. Run configure:
    ./configure --disable-mysql --enable-python --with-python-incdir=/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/tiger-i386-32bit-gcc40/python/2.5.1-gl3/gcc40/include/python2.5 --with-python-libdir=/afs/slac.stanford.edu/g/glast/ground/GLAST_EXT/tiger-i386-32bit-gcc40/python/2.5.1-gl3/gcc40/lib/python2.5/config --enable-roofit --disable-odbc --enable-minuit2 --enable-unuran --enable-table --enable-explicitlink >& config-tiger.log &
  4. Build by running "make >& build-tiger.log &"
  5. libPyROOT.dylib must be rebuilt, due to a need to make it a "bundle" rather than "shared library":
    cd into pyroot/src directory and do:
    g++ -flat_namespace -bundle *.o -bundle_loader $GLAST_EXT/python/2.5.1-g3/gcc40/bin/python -L$ROOTSYS/lib -ldl -lCore -lCint -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lMatrix -lMathCore -lThread -lReflex -L$GLAST_EXT/python/2.5.1-gl3/gcc40/lib/python2.5/config -lpython2.5 -o libPyROOT.dylib
    See:  https://savannah.cern.ch/bugs/index.php?22003
  6. The *.dylib files will have their references to other ROOT libraries hard-coded.  This must be fixed before the libraries can be distributed.  Both the ids and the ROOT libraries referenced must be updated.
    1. First check the id and references using:
      otool -L name.dylib.  i.e.  otool -L libCint.dylib
    2. Next update the id using the command: 
      install_name_tool -id newID fileName  i.e. install_name_tool -id libCint.dylib libCint.dylib
    3. For any ROOT libraries referenced do: 
      install_name_tool -change oldName newName fileName  i.e install_name_tool -change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
  7. Update etc/system.rootrc to include the lines:
    # As suggested by Wilko, April, 2009, so that when a job writes to xrootd, missing directories are created upon request.
    XNet.Mkpath: 1
  8. Copy the following into $GLAST_EXT using the directory structure:
    ROOT/v5.20.00-gl4/gcc40/
    README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials
  • No labels