]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/README
8336e4f0362fb489c69db4b4e5b9fe9985777e65
[u/mrichter/AliRoot.git] / HLT / README
1 Package: ALICE HLT
2
3 This package implements the ALICE High Level Trigger analysis framework.
4 All contributions are under the terms of the 
5 GNU General Public License as published by the Free Software 
6 Foundation. Also see files AUTHORS and THANKS.
7
8 This packages is maintained by Matthias.Richter@ift.uib.no
9 Comments, bug reports, suggestions welcome! 
10
11 TOC
12 ===
13 1. Overview
14 2. Requirements
15 3. Setting up a version retrieved from CVS
16 4. Modifying a distributed package
17 5. Installation
18 6. Documentation
19 7. Further information
20 8. Reporting bugs/Asking for support
21 9. Committing to the AliRoot CVS
22
23 1. Overview
24 ===========
25 This package provides a compilation of shared libraries of the ALICE
26 HLT project and is intended for stand-alone compilation, i.e. not as part 
27 of the AliRoot compilation. 
28
29 - BASE: The base library (libHLTbase.so) provides the common interface for HLT 
30 processing components, the binding into the ALICE offline project AliRoot
31 and a pure C interface to the HLT on-line framework (Publisher/Subscriber
32 framework)
33
34 - SampleLib: The sample library contains examples for component 
35 implementation and a tutorial.
36
37 - TPCLib: The HLT code for the TPC
38 - TPCLib/OnlineDisplay: HLT visualization code for the TPC
39
40 Currently, the the package is not included to the standard AliRoot
41 compilation, but will be part of it.
42
43 The old stand-alone build system is still available. Check the README
44 file in the doc folder.
45
46 2. Requirements
47 ===============
48 The package needs both ROOT and AliRoot. Both must be set up in the
49 usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in
50 LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are
51 not dependend on AliRoot. The TPCLib does.
52
53 To set up a version retrieved from CVS, autoconf 2.57, automake 1.6
54 ,and libtool 1.4 or higher versions are required. Thats the versions
55 which come with the Scientific Linux CERN 3. The same applies if
56 you want to change the Makefiles.
57
58 If your GNU build tools are too old, ask the maintainers for a distributed
59 package.  
60
61 3. Setting up a version retrieved from CVS
62 ==========================================
63 Skip this section if you have started from the tar ball.
64
65 A version checked out from CVS requires a few steps to set up the Makefiles.
66 Go to the directory and run
67 autoreconf -i -f
68
69 Then continue with the package configuration described in the 'Installation'
70 section.
71
72 4. Modifying a distributed package
73 ==================================
74 If you are going the modify a distributed package you might need to re-make 
75 the GNU build system by running
76  autoreconf -f -i
77
78 Please notify the authors about bug fixes/corrections/extensions you made if
79 you consider them worth to be merged into the project.
80
81 Then continue with the package configuration described in the 'Installation'
82 section.
83
84 5. Installation
85 ===============
86 NOTE: The Makefiles which are in repository are part of the old build system.
87 Now, the Makefile.am templates are valid.
88
89 Package build relies on the GNU triplet configure, make and make install.
90 In order to keep the development directory clean, it is recommended to
91 use a separate build directory. 
92
93   mkdir build
94   cd build
95   ../configure
96   make
97   make install
98
99 You should redirect the output of the make into a file.
100 The default install directories are set to the current directory ($PWD).
101
102 To override the default prefix use
103 --prefix=<dir>           
104
105 Some important options:
106 --enable-logging  # Enable/Disable logging (default enabled)
107 --enable-sample   # Compile the sample library
108 --enable-tpc      # Compile the TPC library
109
110 Note: You can have several build directories with different configure options,
111 but using the same source code. 
112
113 If you need further information on the GNU build system, execute from the 
114 top directory:
115 ./configure --help | less
116
117
118 6. Documentation
119 ================
120 Documentation is generated from the source code at compile time if 
121 doxygen is installed on the machine. From the build directory, open
122 doc/html/index.html with a web browser.
123
124 7. Further information
125 ======================
126 A wiki with detailed information is set up at
127 http://www.kip.uni-heidelberg.de/wiki/HLT
128
129 8. Reporting bugs/Asking for support
130 ====================================
131 Please include the following information into your request:
132 - config.log from your build directory
133 - output of the make process. Note: Redirect BOTH the stdout and stderr
134   channel to a log file. Redirection depends on the shell you are using:
135     bash: make 2>&1 | tee make.log 
136     csh: make |& tee make.log
137   The 'tee' command just duplicates the output.
138 - history of the commands you are using for compilation
139   history > history.log
140
141 9. Committing to the AliRoot CVS
142 ================================
143 For development of HLT analysis code check out a HEAD version from the 
144 repository and implement your code. For committing do:
145 1. cvs update
146 2. correct merging conflicts
147 3. compile and test your code again
148 4. send the whole HLT module except the build sub-directories to
149    Matthias.Richter@ift.uib.no
150 5. you will get a notification when the code is committed, right after that you
151    must either do another cvs update or check out the complete module again in
152    order to have the right CVS information