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.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.
...
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.
...
- 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
...
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.
...
- 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
...
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 ${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:
...
...
- 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.
...
- First
...
- check
...
- the
...
- id
...
- and
...
- references
...
- using:
...
otool
...
- -L
...
- name.dylib.
...
- i.e.
...
- otool -L
...
- libCint.dylib
...
- Next
...
- update
...
- the
...
- id
...
- using
...
- the
...
- command:
...
-
install_name_tool
-
...
- -id
...
- newID fileName i.e.
...
- install_name_tool
...
- -id
...
- libCint.dylib
...
- libCint.dylib
...
- 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
...
- 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