Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h1. 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.

{toc}

h2. v5.34.01

h3. 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|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

h3. redhat6-x86_64-64bit-gcc44


Similar to redhat5, using this configure step:

h3. Windows-i386-32bit-vc90

Note: &nbsp;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:&nbsp; 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

h2. v5.26.00a-gl6


h3. redhat6-x86_64-64bit-gcc44


* Build on rhel6-64
* Requires our MySQL installation, as well as Oracle
* Need fftw3, gccxml, GSL to be built.&nbsp; Obtain FFTW 3.1.2 from GLAST_EXT
Obtain GSL 1.10 from: [http://www.gnu.org/software/gsl]; ./configure CFLAGS="-fPIC" \--prefix=$PWD&nbsp; "make"&nbsp; "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&nbsp; (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.&nbsp; 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

h2. v5.26.00a-gl3

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



h3. snowleopard-i386-32bit-gcc42

# 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"
# Need fftw3, gccxml, GSL to be built.&nbsp; Obtain FFTW 3.1.2 from GLAST_EXT
Obtain GSL 1.10 from: [http://www.gnu.org/software/gsl|http://www.gnu.org/software/gsl]; ./configure CFLAGS="-fPIC" \--prefix=$PWD&nbsp; "make"&nbsp; "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&nbsp; (where gccxml contains the downloaded source)
make
make install
# 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $\{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:$ {GLAST_EXT}/python/2.6.5/gcc42/lib/python2.6/lib-dynload/${GLAST_EXT}/python/2.6.5/gcc42/lib/python2.6/lib-dynload/
setenv DYLD_LIBRARY_PATH $\{ROOTSYS\}/lib
# 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 &

# Build by running "make >& build-snowleopard.log &"
# 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:&nbsp; [https://savannah.cern.ch/bugs/index.php?22003]
# The \*.dylib files will have their references to other ROOT libraries hard-coded.&nbsp; This must be fixed before the libraries can be distributed.&nbsp; Both the ids and the ROOT libraries referenced must be updated.
## First check the id and references using:
otool \-L name.dylib.&nbsp; i.e.&nbsp; otool \-L libCint.dylib
## Next update the id using the command:&nbsp;
install_name_tool \-id newID fileName&nbsp; i.e. install_name_tool \-id libCint.dylib libCint.dylib
## For any ROOT libraries referenced do:&nbsp;
install_name_tool \-change oldName newName fileName&nbsp; i.e install_name_tool \-change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
# 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-gl2/gcc42/
README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials

h2. v5.26.00a-gl2

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

h3. redhat6-x86_64-64bit-gcc44

* Build on rhel6-64
* Requires our MySQL installation, as well as Oracle
* Need fftw3, gccxml, GSL to be built.&nbsp; Obtain FFTW 3.1.2 from GLAST_EXT
Obtain GSL 1.10 from: [http://www.gnu.org/software/gsl|http://www.gnu.org/software/gsl]; ./configure CFLAGS="-fPIC" \--prefix=$PWD&nbsp; "make"&nbsp; "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|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|http://www.cmake.org/cmake/resources/software.html]
mkdir gccxml-build
cd gccxml-build
cmake \-DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml&nbsp; (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.&nbsp; 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

h3. tiger-i386-32bit-gcc40

# 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"
# 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $\{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
# 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 &

# Build by running "make >& build-tiger.log &"
# 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:&nbsp; [https://savannah.cern.ch/bugs/index.php?22003]
# The \*.dylib files will have their references to other ROOT libraries hard-coded.&nbsp; This must be fixed before the libraries can be distributed.&nbsp; Both the ids and the ROOT libraries referenced must be updated.
## First check the id and references using:
otool \-L name.dylib.&nbsp; i.e.&nbsp; otool \-L libCint.dylib
## Next update the id using the command:&nbsp;
install_name_tool \-id newID fileName&nbsp; i.e. install_name_tool \-id libCint.dylib libCint.dylib
## For any ROOT libraries referenced do:&nbsp;
install_name_tool \-change oldName newName fileName&nbsp; i.e install_name_tool \-change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
# 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-gl2/gcc40/
README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials

h3. snowleopard-i386-32bit-gcc42

# 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"
# 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $\{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
# 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 &

# Build by running "make >& build-snowleopard.log &"
# 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:&nbsp; [https://savannah.cern.ch/bugs/index.php?22003]
# The \*.dylib files will have their references to other ROOT libraries hard-coded.&nbsp; This must be fixed before the libraries can be distributed.&nbsp; Both the ids and the ROOT libraries referenced must be updated.
## First check the id and references using:
otool \-L name.dylib.&nbsp; i.e.&nbsp; otool \-L libCint.dylib
## Next update the id using the command:&nbsp;
install_name_tool \-id newID fileName&nbsp; i.e. install_name_tool \-id libCint.dylib libCint.dylib
## For any ROOT libraries referenced do:&nbsp;
install_name_tool \-change oldName newName fileName&nbsp; i.e install_name_tool \-change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
# 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-gl2/gcc42/
README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials


h2. v5.26.00a-gl1

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

h3. redhat5-x86_64-64bit-gcc41

* Build on rhel5-64
* Requires our MySQL installation, as well as Oracle
* Need fftw3, gccxml, GSL to be built.&nbsp; Obtain FFTW 3.1.2 from GLAST_EXT
Obtain GSL 1.10 from: [http://www.gnu.org/software/gsl|http://www.gnu.org/software/gsl]; ./configure CFLAGS="-fPIC" \--prefix=$PWD&nbsp; "make"&nbsp; "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&nbsp; (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.&nbsp; cd into the root directory
* Run configure:
&nbsp;./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

h3. 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.&nbsp; Obtain FFTW 3.1.2 from GLAST_EXT
Obtain GSL 1.10 from: [http://www.gnu.org/software/gsl|http://www.gnu.org/software/gsl]; ./configure \--prefix=$PWD&nbsp; "make"&nbsp; "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&nbsp; (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.&nbsp; cd into the root directory
* Run configure:
&nbsp;./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

h3. redhat4-x86_64-64bit-gcc34

* Build on rhel4-64
* Requires our MySQL installation, as well as Oracle
* Need fftw3, gccxml, GSL to be built.&nbsp; Obtain FFTW 3.1.2 from GLAST_EXT
Obtain GSL 1.10 from: [http://www.gnu.org/software/gsl/&nbsp][http://www.gnu.org/software/gsl/|http://www.gnu.org/software/gsl/]; ./configure CFLAGS="-fPIC" \--prefix=$PWD&nbsp; "make"&nbsp; "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|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|http://www.cmake.org/cmake/resources/software.html]
mkdir gccxml-build
cd gccxml-build
cmake \-DCMAKE_INSTALL_PREFIX:PATH=$PWD ../gccxml&nbsp; (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.&nbsp; cd into the root directory
* run ./configure&nbsp; (note that "linux" is left unspecified)
&nbsp;./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

h3. redhat4-i686-32bit-gcc34

# 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.&nbsp; cd into the root directory
# 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&nbsp; > & config-rhel4.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

h3. Windows

If cygwin is not already installed, installcygwin including gcc, make, etc&nbsp; *{_}NOTE:&nbsp; 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|http://www.fftw.org/install/windows.html], obtained gccxml from Gaudi v21r7 distribution
downloaded gccxml from [http://www.gccxml.org/HTML/Index.html|http://www.gccxml.org/HTML/Index.html]








# 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"
# 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%
# Start up cygwin:&nbsp; bash \--login \-i
# 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
# make

h2. v5.22.00e-gl1

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

h3. redhat4-i686-32bit-gcc34

# 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"
# set ROOTSYS to the same directory as the source was checked out into.&nbsp; cd into the root directory
# 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 &
# 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.22.00e-gl1/gcc34/
README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials


h2. v5.20.00-gl5

We ran into a problem this time with distribution of our linux build for ROOT.&nbsp; It seems prefix cannot be used, so we must set the ROOTSYS env var for our build.&nbsp; 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.

h3. redhat4-x86_64-64bit-gcc34

# 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"
# set ROOTSYS to the same directory as the source was checked out into.&nbsp; cd into the root directory
# 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 &
# 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.20.00-gl4/gcc34/
README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

h3. redhat3-i686-32bit-gcc32

# 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"
# set ROOTSYS to the same directory as the source was checked out into.&nbsp; cd into the root directory
# 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 &
# Build by running "make >& build-rhel3.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.20.00-gl4/gcc32/
README bin build-rhel3.log cint config-rhel3.log doc etc fonts icons include lib macros man test tutorials

h3. redhat4-i686-32bit-gcc34

# 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"
# set ROOTSYS to the same directory as the source was checked out into.&nbsp; cd into the root directory
# 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 &
# 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.20.00-gl4/gcc34/
README bin build-rhel4.log cint config-rhel4.log doc etc fonts icons include lib macros man test tutorials

h3. tiger-i386-32bit-gcc40

# 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"
# 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $\{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
# 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 &
# Build by running "make >& build-tiger.log &"
# 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:&nbsp; [https://savannah.cern.ch/bugs/index.php?22003]
# The \*.dylib files will have their references to other ROOT libraries hard-coded.&nbsp; This must be fixed before the libraries can be distributed.&nbsp; Both the ids and the ROOT libraries referenced must be updated.
## First check the id and references using:
otool \-L name.dylib.&nbsp; i.e.&nbsp; otool \-L libCint.dylib
## Next update the id using the command:&nbsp;
install_name_tool \-id newID fileName&nbsp; i.e. install_name_tool \-id libCint.dylib libCint.dylib
## For any ROOT libraries referenced do:&nbsp;
install_name_tool \-change oldName newName fileName&nbsp; i.e install_name_tool \-change $ROOTSYS/lib/libNet.dylib libNet.dylib libPyROOT.dylib
# 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.20.00-gl4/gcc40/
README bin build-tiger.log cint config-tiger.log doc etc fonts icons include lib macros man test tutorials