"SfR Fresh" - the SfR Freeware/Shareware Archive

Member "root/README/INSTALL" of archive root_v5.20.00.win32.tar.gz:


As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
    1 Installation of ROOT from source
    2 ================================
    3 
    4 Contents:
    5 =========
    6 
    7 	1.    Getting the source
    8 	2.    Getting ready to build
    9 	3.    Choosing the installation method
   10 	3.1.  Environment driven build
   11 	3.2.  Fixed locations build
   12 	3.2.  Redhat packages
   13 	3.4.  Debian GNU/Linux packages
   14 	4.    Installation Location
   15 	5.    Makefile targets
   16 	6.    Installing optional add-on libraries
   17 	6.1.  Using the environment
   18 	6.2.  Using "configure" flags
   19 	7.    Information on third party software
   20 	7.1.  Posix Thread usage
   21 	7.2.  OpenGL library
   22 	7.3.  SHIFT managed tape I/O
   23 	7.4.  ZEBRA file conversion tools
   24 	7.5.  MySQL client
   25 	7.6.  PostGreSQL Client
   26 	7.7.  SapDB Client
   27 	7.8.  Pythia Event Generators
   28 	7.9.  Venus Event Generators
   29 	7.10. Secure Remote Password (SRP) Authentication
   30 	7.11. AFS Authentication
   31 	7.12. Kerberos Authentication
   32 	7.13. Globus Authentication
   33 	7.14. SSH Authentication
   34 
   35 1. Getting the source:
   36 ======================
   37 
   38 To install ROOT from source you first have to get the tar file
   39 containing the source. This tar file can be found in the usual
   40 ROOT download area (ftp://root.cern.ch/root). The files are named
   41 root-<version>.source.tar.gz.
   42 
   43 Here's a short summary:
   44 
   45 1) Get access to the FTP area (substitute any FTP client and appropriate
   46    email address below):
   47 
   48      prompt% ftp root.cern.ch
   49      User: anonymous
   50      Password: <your-email-address>
   51 
   52 2) Go to the directory, and prepare for binary transfer of files:
   53 
   54      ftp> cd /root
   55      ftp> bin
   56 
   57 3) Get the sources tar-ball (substitute the appropriate version
   58    number), and exit FTP client:
   59 
   60      ftp> get root-<version>.source.tar.gz
   61      ftp> bye
   62 
   63 4) Unpack the distribution:
   64 
   65      prompt% gzip -dc root-<version>.source.tar.gz | tar -xf -
   66 
   67 An alternative approach is to use our public Subversion repository to get
   68 the latest version. See URL:
   69    http://root.cern.ch/twiki/bin/view/ROOT/SubversionHowto
   70 
   71 Here's a short summary:
   72 
   73 1a) Get a specific version (>= 2.25/00), e.g.: version 2.25/03:
   74 
   75      prompt% svn co http://root.cern.ch/svn/root/tags/v2-25-03 root
   76 
   77 1b) Alternatively, checkout the head (development version) of the sources:
   78 
   79      prompt% svn co http://root.cern.ch/svn/root/trunk root
   80 
   81 In both cases you should have a subdirectory called "root" in the
   82 directory you ran the above commands in.
   83 
   84 
   85 2. Getting ready to build:
   86 ==========================
   87 
   88 You may want to compile features into ROOT, which depends on third
   89 party libraries. Make sure you meet all demands for additional
   90 features before trying to enable them (see below).
   91 
   92 If you are using some Un*x, you need to have libXpm installed. On very
   93 few systems libXpm.a is not available. In that case get the pre-built
   94 version from:
   95 
   96    ftp://root.cern.ch/root/xpm.
   97 
   98 Then use either environment variable XPM or "configure" flags
   99 "--with-xpm-libdir=<dir>" to specify where you installed libXpm, if you
  100 didn't install it in some generally searched directory (see more below).
  101 
  102 If you are using Windows make sure you've installed Cygwin
  103 
  104    http://sources.redhat.com/cygwin/
  105 
  106 and that it is setup correctly, see:
  107 
  108    http://root.cern.ch/root/Cygwin.html
  109 
  110 Before proceeding read the complete document.  Note: With the advent
  111 of Cygwin 1.0 your system is mostly setup correctly by the setup.exe
  112 program.
  113 
  114 
  115 3. Choosing the installation method:
  116 ====================================
  117 
  118 There are two main methods of installing ROOT from source.  As an
  119 alternative, you can build either a set of Debian GNU/Linux or Redhat
  120 Linux packages.
  121 
  122 3.1. Environment driven build:
  123 ------------------------------
  124 
  125 You want to install in a generic directory, depending on environment
  126 variables ROOTSYS, LD_LIBRARY_PATH, and PATH.
  127 
  128    1) get the sources of the latest ROOT (see above)
  129 
  130    2) set ROOTSYS to the `root' directory:
  131       sh family:
  132         export ROOTSYS=<path>/root
  133       csh family
  134         setenv ROOTSYS <path>/root
  135 
  136    3) now type the build commands:
  137       all shells:
  138         ./configure --help
  139         ./configure <arch>        [change arch appropriately]
  140         gmake                     [or, make -j2 for dual CPU machines]
  141         gmake install             [when run directory is not $ROOTSYS]
  142 
  143    4) add $ROOTSYS/bin to PATH and $ROOTSYS/lib to LD_LIBRARY_PATH:
  144       sh family:
  145         export PATH=$ROOTSYS/bin:$PATH
  146         export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH
  147         export DYLD_LIBRARY_PATH=$ROOTSYS/lib:$DYLD_LIBRARY_PATH (MacOS X only)
  148       csh family:
  149         setenv PATH ${ROOTSYS}/bin:${PATH}
  150         setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${LD_LIBRARY_PATH}
  151         setenv DYLD_LIBRARY_PATH ${ROOTSYS}/lib:${DYLD_LIBRARY_PATH} (MacOS X)
  152         rehash
  153 
  154    5) try running root:
  155       all shells:
  156 
  157         root
  158 
  159 3.2. Fixed locations build:
  160 ---------------------------
  161 
  162 You want to install ROOT in a fixed location, not depending on
  163 ROOTSYS. Typically you want to do this when installing in a location
  164 like `/usr/local/bin' or even `/usr/bin'. This allows you, and all
  165 others on your system, to run ROOT without having to setup ROOTSYS and
  166 special PATH and LD_LIBRARY_PATH variables.
  167 
  168 This scheme also makes it easier to make ROOT
  169 distributions/installations that fit with an existing system. E.g., it
  170 is trivial to install ROOT via a RedHat (.rpm) or Debian GNU/Linux
  171 (.deb) package (see also below).
  172 
  173 It's _strongly_ recommended to enable version numbers in sonames (if
  174 possible) using this method (see --enable-soversion below). Also,
  175 using the --enable-rpath option to "configure" you can set the load
  176 path to the ROOT libraries on the applications. However, this is not
  177 recommended if you have some other way (like /etc/ld.so.conf) of
  178 making the dynamic loader aware of where you installed the ROOT
  179 libraries.
  180 
  181    1) get the sources of latest ROOT (see above)
  182 
  183    2) now type the build commands:
  184       all shells:
  185         ./configure --help
  186         ./configure <arch> --prefix=/usr/local [change arch appropriately]
  187         gmake                   [or, make -j2, for dual CPU machines]
  188         gmake install           [su to root if --prefix points to a system dir]
  189 
  190    3) try running root:
  191 
  192       sh family:
  193 
  194         root
  195       csh family:
  196 
  197         rehash
  198         root
  199 
  200 3.2. Redhat packages:
  201 ---------------------
  202 Get the sources for a specific release from Subversion or from a tar-ball, as
  203 outlined above and cd into the source directory. Then just do
  204 
  205         make redhat
  206 
  207 This will create a RPM spec file in the source tree. To build the
  208 packages do:
  209 
  210 1) Make a tar-ball of the source tree:
  211 
  212         cd ../
  213         tar -czvf root-v<version>.source.tar.gz 
  214 
  215   where <version>=<major>.<minor>.<revision> is the version number of
  216   ROOT (see the file build/version_number).
  217 
  218 2)
  219   A) If you have system privileges, you can now do:
  220 
  221         cp root_v<version>.source.tar.gz /usr/src/redhat/SOURCES/
  222 
  223      or where ever RPM looks for source archives.
  224 
  225   B) However, if you don't have system privileges, you should set up a
  226      build area by having the file ~/.rpmrc with a contents like:
  227 
  228         %macrofiles: /usr/lib/rpm/macros:<your home dir>/.rpmmac
  229 
  230      and a file <your home dir>/.rpmmac with a contents like:
  231 
  232         %_topdir <some where you can write>/redhat
  233 
  234      Then you should make the appropiate directories:
  235 
  236         mkdir <some where you can write>/redhat
  237         mkdir <some where you can write>/redhat/SOURCES
  238         mkdir <some where you can write>/redhat/BUILD
  239         mkdir <some where you can write>/redhat/RPMS
  240         mkdir <some where you can write>/redhat/SRPMS
  241         mkdir <some where you can write>/redhat/SPECS
  242 
  243      and finally copy the source tar-ball:
  244 
  245         cp root_v<version>.source.tar.gz \
  246            <some where you can write>/redhat/SOURCES
  247 
  248 3) Wether you have system privileges or not, you can now build the RPM
  249    packages by issuing (Red Hat 7.3 or less):
  250 
  251        rpm -ba root.spec
  252 
  253    or (Red Hat 8.0 or above):
  254 
  255        rpmbuild -ba root.spec
  256 
  257   If you left the spec file in the source tree, you can build directly
  258   from the tar-ball.  You still need to have a proper build area
  259   setup, as outlined above.  All you need to do is:
  260 
  261        rpm -ta root_v<version>.source.tar.gz        (Red Hat 7.3-)
  262        rpmbuild -ta root_v<version>.source.tar.gz   (Red Hat 8.0+)
  263 
  264 Per default the binaries will be build in /tmp/rootrpm, but one may
  265 change that at build time by passing the option --buildroot too rpm.
  266 
  267 Please refer to man-page rpm(1) and http://www.rpm.org for more
  268 information on RPM.
  269 
  270 Please note, that all possible packages may not be specified in the
  271 spec file.  See also build/package/common/README.
  272 
  273 3.4. Debian GNU/Linux packages:
  274 -------------------------------
  275 Get the sources for a specific release from Subversion or from a tar-ball, as
  276 outlined above and cd into the source directory. Then just do
  277 
  278         make debian
  279 
  280 The packages will be build in "../".
  281 
  282 Please note, that all possible packages may not be specified in the
  283 debian directory file.  See also build/package/common/README.
  284 
  285 4. Installation Location:
  286 =========================
  287 
  288 By default, the system will be installed depending on the ROOTSYS
  289 environment variable. In that case the whole package will live under
  290 the directory ROOTSYS points to.
  291 
  292 Using the fixed location mode (section 3.2), the default `--prefix'
  293 path is `/usr/local', which will result in the ROOT files to be
  294 installed in `/usr/local/bin', `/usr/local/lib', etc. You can specify
  295 an installation prefix other than `/usr/local' by giving `configure'
  296 the option `--prefix=PATH'. For more detailed location specifications
  297 see `configure --help'.
  298 
  299 Here's the complete list:
  300 
  301 * prefix (/usr/local)
  302   Installation prefix. This will prefix any installation directory not
  303   explicitly specified.
  304 * bindir (<prefix>/bin)
  305   This is where the ROOT applications (root, cint, rootcint, etc.)
  306   will be installed.
  307 * libdir (<prefix>/lib/root)
  308   Library installation directory. All the class libraries of ROOT will
  309   be installed into this directory. You should make your dynamic
  310   linker aware of this directory. On Linux - and some other Un*ces -
  311   this directory can be added to /etc/ld.so.conf and ldconfig should
  312   be run afterward (you need to be root - the user - to do
  313   this). Please note, that this directory should probably not be
  314   something like /usr/lib or /usr/local/lib, since you'll most likely
  315   get a name clash with ROOT libraries and other libraries
  316   (e.g. libMatrix.so); rather use something like /usr/local/lib/root
  317 * incdir (<prefix>/include/root)
  318   Header installation directory. All the header (declaration) files
  319   for the ROOT classes will be installed into this directory. This
  320   should be parallel to libdir, for consistency.
  321 * etcdir (/etc/root)
  322   Configuration files installation directory. The system-wide
  323   system.rootrc and root.mimes will be installed into this directory.
  324 * mandir (<prefix>/share/man/man1)
  325   Installation directory for the ROOT man(1) pages. This should be
  326   somewhere searched by man(1). On most Un*x you can set the search
  327   path for man(1) via environment variable MANPATH. On some systems, a
  328   special configuration file /etc/manpath.config exist and should be
  329   used. See also man(1) - type man man in the prompt - on your
  330   system.
  331 * datadir (<prefix>/share/root)
  332   Top-level data installation directory. Under this directory, various
  333   data files needed by ROOT will be installed, either in
  334   subdirectories, or directly.
  335 * proofdir (<datadir>/proof)
  336   PROOF utilities directory. Various PROOF utility scripts as well as
  337   example configurations are installed into this directory.
  338 * macrodir (<datadir>/macros)
  339   Macro installation directory. Macros - properly called scripts -
  340   provided by the ROOT system are installed into this directory. ROOT
  341   - the application -  will always search this directory for scripts.
  342 * cintincdir (<datadir>/cint)
  343   CINT data directory. In this directory, the CINT runtime headers
  344   will be installed, both the standard headers, as well as
  345   pre-processed once.
  346 * iconpath (<datadir>/icons)
  347   Icon installation directory. The icons used by the TBrowser and other
  348   classes will be installed into this directory. The user can specify
  349   additional directories in using the "--with-sysicondir" option.
  350 * srcdir (<datadir>/src)
  351   Sources installation directory. Currently not used!
  352 * docdir (<prefix>/doc/root)
  353   Documentation, like the LICENCE, README, etc. files will be
  354   installed into this directory.
  355 * testdir (<docdir>/test)
  356   The test applications and libraries will be installed here.
  357 * tutdir (<docdir>/tutorial)
  358   All the tutorials will be installed in this directory.
  359 
  360 
  361 5. Makefile targets:
  362 ====================
  363 
  364 The Makefile system and supported make targets are explained in the
  365 BUILDSYSTEM file.
  366 
  367 
  368 6. Installing optional add-on libraries:
  369 ========================================
  370 
  371 There are two ways in which you can specify additional features to
  372 build into the ROOT system:
  373 
  374 6.1. Using the environment:
  375 ---------------------------
  376 
  377 If you want to compile the ROOT optional add-on libraries to handle
  378 True Type fonts, OpenGL graphics, SRP authentication, MySQL access,
  379 RFIO access and event generator interfaces (Pythia, Pythia6 and
  380 Venus) you can either specify the options as environment variables.
  381 For example:
  382 
  383   # Used during build of ROOT can be overridden in ./configure
  384   export ROOTBUILD=debug      # see $ROOTSYS/README/BUILDSYSTEM
  385   export CERNLIB=~/cernlib    # must contain libpacklib.a libkernlib.a
  386   export RFIO=~/shift/lib     # CERN's SHIFT library, must
  387                               # contain libshift.a
  388   export OPENGL=~/Mesa        # must contain include/ lib/
  389   export SRP=~/src/srp        # must contain include/ lib/
  390   #export AFS=                # must contain include/ lib/
  391   #export XPM=                # must contain libXpm
  392   #export MYSQL=              # must contain include/ lib/
  393   #export PYTHIA=             # must contain libPythia
  394   #export PYTHIA6=            # must contain libPythia6
  395   #export VENUS=              # must contain libVenus
  396   #export TABLE=yes           # to build the Table contrib library
  397 
  398 The ROOTBUILD environment variable is special and architecture
  399 dependent. To get an idea of which values it can take, take a look in
  400 the config/Makefile.<architecture> corresponding to your
  401 architecture.
  402 
  403 
  404 6.2. Using "configure" flags:
  405 -----------------------------
  406 
  407 You can also specify additional features and external linking using
  408 command line options - or flags - to the configure script.
  409 
  410 A special flag is "--build=<option list>" which correspond to the
  411 ROOTBUILD environment variable, as described above.
  412 
  413 The flags consist of two classes:
  414 
  415 1) --enable-<feature>/--disable-<feature> flags:
  416    These flags enables/disables support for the corresponding feature
  417    <feature>. Specifying such a flag will make the configure script
  418    look for third-party libraries, headers, etc. at default
  419    locations.
  420 
  421    If you find that the default locations does not work with some
  422    standard path e.g., on OS <Foo>, library lib<Bar>, is in general
  423    installed in path <Baz>, but "configure" doesn't look there, please
  424    file a bug report with rootbugs@root.cern.ch.
  425 
  426    If, for some reason, you have installed some third-party library
  427    outside it's usual location, you can make "configure" look for it
  428    using the corresponding "--with-<feature dir>" option (see below).
  429 
  430    By default, all features are enabled, except for a few cases (noted
  431    below).
  432 
  433    Here's a list of supported features:
  434 
  435    * shared
  436      Use shared 3rd party libraries if possible. Some platforms assume
  437      this by default, others do not support it at all. Default is true.
  438    * rpath
  439      Set library path on executables. This is only supported on some
  440      platforms. Default is false.
  441    * soversion
  442      Include the major version number of ROOT in the soname of the
  443      shared libraries. This means that you'll have an additional check
  444      on whether your applications are linked to the proper runtime
  445      libraries. It's strongly encouraged to use this option. This
  446      options is only supported on some platforms. Default is false.
  447    * table
  448      Build Table contributed library, including new containers and
  449      extended 3D geometry descriptions. Default is false.
  450    * thread
  451      Compile ROOT thread safe, as well as a thread API library. This
  452      options is strongly recommended. This requires the system library
  453      libpthread (Posix threads). Default is false, except for the
  454      "linux" architecture.
  455    * opengl
  456      OpenGL (3D rendering and visualisation) support. This is
  457      especially powerful if you have a 3D accelerated card and a
  458      proper OpenGL interface for your graphics system. This requires
  459      the third party libraries libGL and libGLU - or libMesaGL and
  460      libMesaGLU, as well header files for these libraries. For
  461      platforms with native OpenGL support (Windows), this is always
  462      enabled, even if the --disable-opengl flag is set. Default is true.
  463    * cern
  464      Build h2root and g2root utilities to convert ZEBRA files with
  465      HBOOK histograms and/or Ntuple, and GEANT geometries
  466      respectively, into ROOT structures in ROOT files. This requires
  467      the third-party libraries libkernlib and libpacklib from the
  468      CERNLIB distribution. Default is true.
  469    * mysql
  470      Build a thin MySQL client for ROOT. This requires the third-party
  471      library libmysqlclient and header files. Note that there may be
  472      licensing issues regarding linking against libmysqlclient.
  473      Default is true.
  474    * psql
  475      Build a thin PostGreSQL client for ROOT. This requires the
  476      third-party library libpsql and header files.
  477      Default is true.
  478    * sapdb
  479      Build a thin SapDB client for ROOT. This requires the
  480      third-party library libsql and header files.
  481      Default is true.
  482    * shift
  483      Interface to SHIFT managed tape robots. This option requires you
  484      get the libshift.a from CERN. Please note, that this library is
  485      only available as a static library (archive), and will always be
  486      statically linked in. There may be licensing issues involved.
  487      Default is true.
  488    * pythia
  489      Build thin wrapper for the Pythia Event Generator (version
  490      5). This requires the third party library libPythia. Default is true.
  491    * pythia6
  492      Build thin wrapper for the Pythia Event Generator (version
  493      6). This requires the third party library libPythia6. Default is true.
  494    * venus
  495      Build thin wrapper for the Venus Event Generator. This requires
  496      the third party library libVenus. Default is true.
  497    * srp
  498      Build daemons rootd and proofd with SRP support. This requires
  499      the full third-party SRP distribution to be installed and build.
  500      Default is true.
  501    * afs
  502      Build daemons rootd and proofd with AFS support. This requires
  503      the third-party AFS libs and objects. Default is false.
  504 
  505 2) --with-<feature dir>=<dir> flags:
  506    If "configure" isn't able to find some third-party library, header,
  507    or other file, corresponding to one of the above features, you can
  508    force it to look for these files in specific directories, using the
  509    "--with-" options.
  510 
  511    Using a "--with-<feature dir>=<dir>" will make "configure" look for
  512    whatever needed by <feature> in <dir>, and will also enable the
  513    corresponding feature. Hence, you do not need to specify
  514    "--enable-<feature>" if you give an "--with-<featuredir>=<dir>".
  515    The inverse - of course - isn't true.
  516 
  517    Here is a list of "--with-" flags:
  518 
  519    * xpm-libdir
  520      Directory containing libXpm.{so,a}. This option is special, since
  521      this doesn't correspond to any feature, as described
  522      above. However, the XPM library is needed on Un*x, and if
  523      installed somewhere non-standard, this option may help you.
  524    * thread-libdir
  525      Directory containing libpthread.{so,a} (Posix thread
  526      library). It's highly unlikely that you need to specify this
  527      option, since libpthread is completely standard on Un*x, and
  528      should be found by "configure".
  529    * sys-iconpath
  530      Extra icon path for TBrowser, etc. This, again doesn't correspond
  531      to any feature, but provides you with way of getting the TBrowser
  532      and others to look for additional icons in some system-wide
  533      directory.
  534    * opengl-incdir
  535      Directory containing GL/gl.h (note the sub-directory), needed by
  536      feature opengl.
  537    * opengl-libdir
  538      Directory containing libGL.{so,a} and libGLU.{so,a} -
  539      alternatively libMesaGL.{so,a} and libMesaGLU.{so,a} - needed by
  540      feature opengl.
  541    * mysql-incdir
  542      Directory containing mysql.h, needed by feature mysql.
  543    * mysql-libdir
  544      Directory containing libmysqlclient.{so,a}, needed by feature mysql.
  545    * pythia-libdir
  546      Directory containing libPythia.{so,a}, needed by feature pythia.
  547    * pythia6-libdir
  548      Directory containing libPythia6.{so,a}, needed by feature pythia6.
  549    * venus-libdir
  550      Directory containing libVenus.{so,a}, needed by feature venus.
  551    * cern-libdir
  552      Directory containing libpacklib.{so,a} and libkernlib.{so,a},
  553      needed by feature cern, for the ZEBRA file converters.
  554    * shift-libdir
  555      Directory containing libshift.a, needed for feature shift.
  556    * krb5
  557      Kerberos5 ditribution location
  558    * krb5-incdir
  559      Kerberos5 support, location of krb5.h
  560    * krb5-libdir
  561      Kerberos5 support, location of libkrb5
  562    * srp-incdir
  563      Path to header files for regular SRP library (not utilities)
  564      This is needed for building the daemons rootd and proofd with
  565      SRP support (authentication).
  566    * srp-libdir
  567      Path to regular SRP library (not utilities). This is needed for
  568      building the daemons rootd and proofd with SRP support
  569      (authentication).
  570    * srp
  571      Top directory of the SRP (Secure Remote Passwd). This directory
  572      must contain:
  573           base/libmisc/libmisc.a
  574           base/lib/libshadow.a
  575           base/lib/pwauth.h
  576           libsrp/libsrp.a
  577           libsrp/t_server.h
  578      And alternatively
  579           lib/libgmp.a
  580           lib/libcrack.a
  581      This is needed to build the utility programs for managing ROOT
  582      related SRP access.
  583    * afs
  584      Top directory of the AFS distribution. This directory must
  585      contain:
  586           lib/libubik.a
  587           lib/librxkad.a
  588           lib/libdes.a
  589           lib/librx.a
  590           lib/liblwp.a
  591           lib/afs/libkauth.a
  592           lib/afs/libprot.a
  593           lib/afs/libauth.a
  594           lib/afs/libsys.a
  595           lib/afs/libcmd.a
  596           lib/afs/libcom_err.a
  597           lib/afs/libaudit.a
  598           lib/afs/util.a
  599      This is needed for building the daemons rootd and proofd with
  600      AFS support (authentication).
  601    * globus
  602      Path to Globus Tool Kit installation, usually pointed to by the
  603      variable GLOBUS_LOCATION; the specification of this path supersedes
  604      the one defined by such variable.
  605      This directory must contain:
  606           include/openssl/x509.h
  607           include/openssl/pem.h
  608           include/globus_gss_assist.h
  609           lib/libglobus_gss_assist_<flavour>
  610           lib/libglobus_gssapi_gsi_<flavour>
  611           lib/libssl_<flavour>
  612           lib/libcrypto_<flavour>
  613      'configure' will also look for
  614           etc/globus-user-env.sh
  615           bin/grid-proxy-init
  616      and issue a warning if they are missing, since in such a case
  617      automatic credential initialization will not be available.
  618    * globus-patch
  619      Path to Globus Tool Kit sources; need for applying the experimental
  620      patch (see README.GLOBUS)
  621 
  622 
  623 7. Information on third party software:
  624 =======================================
  625 
  626 The optional add-ons are not necessary for the proper functioning of
  627 ROOT but we advice you to at least get the True Type fonts since they
  628 hugely increase the appearance of text on the screen.
  629 
  630 
  631 7.1. Posix Thread usage:
  632 ------------------------
  633 To build the library providing thread support you need to have the
  634 library libpthread.{a,so} and header files installed. This is usually
  635 the case for any Un*x OS. For architecture "linux" thread support
  636 will always be build.
  637 
  638 
  639 7.2. OpenGL library:
  640 --------------------
  641 On how to get an open source version of OpenGL see:
  642 
  643    http://www.mesa3d.org
  644 
  645 For prebuilt versions see:
  646 
  647    ftp://root.cern.ch/root/opengl/
  648 
  649 Most Linux distributions come with a Mesa package, providing the
  650 needed headers and libraries. Also, the OpenGL libraries are already
  651 in XFree86 version 4 or above.
  652 
  653 
  654 7.3. SHIFT managed tape I/O:
  655 ----------------------------
  656 To build the library providing CERN RFIO (remote I/O) support you need
  657 to get the "libshift.a" library from CERN. You can get pre-build
  658 libraries from
  659 
  660   http://root.cern.ch/root/shift
  661 
  662 or you can download the full source from
  663 
  664   http://savannah.cern.ch/files/?group=castor
  665 
  666 7.4. ZEBRA file conversion tools:
  667 ---------------------------------
  668 To build the HBOOK and Geant3 conversion programs `h2root' and
  669 `g2root' you need the CERNLIB components "libpacklib.{a,so}" and
  670 "libkernlib.{a,so}" from CERN. You can get it from
  671 
  672   ftp://asisftp.cern.ch/cernlib
  673 
  674 
  675 7.5. MySQL client:
  676 ------------------
  677 To build the MySQL interface library you need to install MySQL first. See:
  678 
  679    http://www.mysql.com/
  680 
  681 
  682 7.6. PostGreSQL Client:
  683 -----------------------
  684 To build the PostGreSQL interface you need to install PostGreSQL
  685 first. See
  686 
  687    http://www.postgresql.org
  688 
  689 
  690 7.7.  SapDB Client:
  691 -------------------
  692 To build the SapDB interface you need to install the SapDB calling
  693 interface first, which can be found in the rpm sapdb-callif-xxxx. See
  694 
  695    http://www.sapdb.org
  696 
  697 
  698 7.8. Pythia Event Generators:
  699 -----------------------------
  700 To build the event generator interfaces for Pythia and Pythia6, you
  701 first have to get the pythia libraries. You can get pre-build
  702 libraries from:
  703 
  704    ftp://root.cern.ch/root/pythia/
  705 
  706 or you can download the source from the same directory. The original
  707 sources can be found via Lunds FTP server.
  708 
  709 More information is avaliable from:
  710 
  711    http://www.thep.lu.se/~torbjorn/Pythia.html
  712 
  713 
  714 7.9. Venus Event Generators:
  715 ----------------------------
  716 To build the event generator interface for Venus, you need to have the
  717 Venus libraries.  The sources can be downloaded from 
  718 
  719     ftp://root.cern.ch/root/venus/
  720 
  721 7.10. Secure Remote Password (SRP) Authentication:
  722 --------------------------------------------------
  723 To build the strong authentication module used by rootd and proofd,
  724 you first have to install the SRP (Secure Remote Password)
  725 system. See:
  726 
  727    http://srp.stanford.edu/
  728 
  729 Please note, that the library "libsrp-dev" as distributed by Standford
  730 is not enough to build the two utility program in the srputil
  731 directory of the ROOT source tree.
  732 
  733 
  734 7.11. AFS Authentication:
  735 -------------------------
  736 To build rootd and proofd with support for AFS authentication, you
  737 first have to install AFS client libraries system. There are a few AFS
  738 distributions avaliable.
  739 
  740 * OpenAFS
  741   IBMs OpenSource AFS distribution - see
  742 
  743     http://www.openafs.org
  744 
  745 * Transarc AFS
  746   IBMs commercial AFS ditribution - see
  747 
  748     http://www.transarc.ibm.com/Support/afs
  749 
  750 
  751 7.12. Kerberos Authentication:
  752 ------------------------------
  753 To build the Kerberos authentication module used by rootd and proofd,
  754 you first have to install Kerberos V on your machine. See:
  755 
  756    http://web.mit.edu/kerberos/www/
  757 
  758 for details and downloads.
  759 If the installation directory is different from the standard ones
  760 (typically /usr/kerberos) the --with-krb5=<krb5_dir> flag must be
  761 used to tell configure where to look for Kerberos. Alternatrively
  762 the --with-krb5-incdir and --with-krb5-libdir can be specified
  763 individually.
  764 
  765 
  766 7.13. Globus Authentication:
  767 ----------------------------
  768 To build the Globus authentication module used by rootd and proofd,
  769 you first have to make sure that the Globus Tool Kit is installed
  770 on the machine. See:
  771 
  772    http://www.globus.org/
  773 
  774 for details and downloads.
  775 Globus Tool Kit is available only for a subset of Unix platforms.
  776 The variable GLOBUS_LOCATION should be defined as the directory
  777 containing Globus lib, include and bin. For compilation purposes
  778 you can pass this directory to the configure script with the option
  779 --with-globus-dir=<globus_dir>. An experimental path is available
  780 for versions 2.2.3 and 2.2.4 of the Globus Tool Kit to fix a small
  781 bug preventing full fonctionallity of the root implementation; this
  782 is activated by setting --with-globus-patch-dir=<globus_src_dir>
  783 where <globus_src_dir> is the globus tool kit source,
  784 
  785 
  786 7.14. SSH Authentication:
  787 -------------------------
  788 There is no need to build special modules for SSH authentication.
  789 
  790 
  791 
  792 
  793 
  794 
  795 Local Variables:
  796       mode: text 
  797 End: