"SfR Fresh" - the SfR Freeware/Shareware Archive 
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: