]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/README
Fixed warnings [-Wunused-but-set-variable] from GCC 4.6 -
[u/mrichter/AliRoot.git] / HLT / README
... / ...
CommitLineData
1Package: ALICE HLT
2
3This package implements the ALICE High Level Trigger analysis framework
4and analysis component libraries. All files are property of and copyright
5by the ALICE HLT Project unless stated differently.
6
7All contributions are under the terms of the
8GNU General Public License as published by the Free Software
9Foundation. Also see files AUTHORS and THANKS.
10
11This packages is maintained by Matthias.Richter@ift.uib.no
12Comments, bug reports, suggestions welcome!
13
14++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
15+ TOC
16++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17+ 1. Overview
18+ 2. Requirements
19+ 3. Setting up a version retrieved from SVN
20+ 4. Modifying a distributed package
21+ 5. Installation
22+ 6. Documentation
23+ 7. Further information
24+ 8. Reporting bugs/Asking for support
25+ 9. Committing to the AliRoot SVN
26++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
27
281. Overview
29===========
30This package provides a compilation of shared libraries of the ALICE
31HLT project and is intended for stand-alone compilation, i.e. not as part
32of the AliRoot compilation.
33
34 - \b BASE: The base library (libHLTbase.so) provides the common interface for
35 HLT processing components, the binding into the ALICE offline project
36 AliRoot and a pure C interface to the HLT on-line framework
37 (Publisher/Subscriber framework)
38
39 - \b SampleLib: The sample library contains examples for component
40 implementation and a tutorial.
41
42 - \b TPCLib: The HLT code for the TPC
43 - \b TPCLib/OnlineDisplay: HLT visualization code for the TPC
44
45 - \b PHOS: The HLT code for PHOS
46
47 - \b TRD: The HLT code for TRD
48
49 - \b MUON: The HLT code for MUON
50
512. Requirements
52===============
53The package needs both ROOT and AliRoot. Both must be set up in the
54usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in
55LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are
56not dependend on AliRoot. The TPCLib does.
57
58To set up a version retrieved from SVN, autoconf 2.57, automake 1.6
59,and libtool 1.4 or higher versions are required. Thats the versions
60which come with the Scientific Linux CERN 3. The same applies if
61you want to change the Makefiles.
62
63If your GNU build tools are too old, ask the maintainers for a distributed
64package.
65
663. Setting up a version retrieved from SVN
67==========================================
68Skip this section if you have started from the tar ball.
69
70A version checked out from SVN requires a few steps to set up the Makefiles.
71Go to the directory and run
72
73 autoreconf -i -f
74
75Then continue with the package configuration described in the 'Installation'
76section.
77
784. Modifying a distributed package
79==================================
80If you are going the modify a distributed package you might need to re-make
81the GNU build system by running
82
83 autoreconf -f -i
84
85Please notify the authors about bug fixes/corrections/extensions you made if
86you consider them worth to be merged into the project.
87
88Then continue with the package configuration described in the 'Installation'
89section.
90
915. Installation
92===============
93Package build relies on the GNU triplet configure, make and make install.
94In order to keep the development directory clean, it is recommended to
95use a separate build directory.
96
97\b NOTE: Autotools creates the Makefiles from templates. All \b changes have to
98be done to the \b Makefile.am templates.
99
100It is recommended to read the complete section before the build process.
101
1025.1 For the impatiant user
103--------------------------
104
105 mkdir build
106 cd build
107 ../configure
108 make
109 make install
110
1115.2 Installation directory
112--------------------------
113The default install directory is set to the current directory ($PWD). To
114override the default directory use the option
115 --prefix=<dir>.
116More information can be obtained from the configure script by running it with
117option --help. All binary libraries will be installed under
118 <prefix>/lib.
119
120If the directory is equal to $ALICE_ROOT, the libraries will be installed under
121 <prefix>/lib/tgt_<arch>
122as used for AliRoot. This is a custom extension in
123order to adapt to the specific AliRoot installation directories.
124
1255.3 For the AliRoot user
126------------------------
127To install all libraries in the AliRoot lib dir:
128
129 mkdir build
130 cd build
131 ../configure --prefix=$ALICE_ROOT
132 make
133 make install
134
1355.4 Package options
136-------------------
137Some important options (all options are on by default):
138
139 --disable-sample # disable compilation the sample library
140 --disable-util # disable compilation the util library
141 --disable-tpc # disable compilation the TPC library
142 --disable-phos # disable compilation the PHOS library
143 --disable-trd # disable compilation the TRD library
144 --disable-dimuon # disable compilation the MUON library
145 --disable-aliroot-logging # disable logging
146 --disable-doc # disable creation of doxygen documentation
147 --disable-strict # disable strict coding conventions and compilation flags
148
149
150All detector libraries (including sample and util lib) require AliRoot,
151compilation is disabled if no working AliRoot version was found. This can
152occur even if an AliRoot version is set up correctly since the configure
153script checks for the usability of the AliRoot libraries (mainly STEER and
154the ones it depends on). If new dependencies are introduced, the check
155might fail.
156
157Compilation of detector libraries can be forced by the switch
158
159 --enable-detector, e.g. --enable-phos
160
161Compilation can also be forced by typing 'make' in the detector
162sub-directory.
163
164Debugging (default disabled)
165
166 --enable-debug # enable debugging: symbols & messages
167
168Optimization (default -O2)
169
170 --disable-optimization # disable compiler optimization
171 --enable-optimization<=l> # enable compiler optimization level l
172
1735.5 External packages
174---------------------
175PubSub framework: the TPC online display needs the HOMER interface, which
176is currently part of the PubSub framework. It is planned to integrate it
177into AliRoot.<br>
178If the TPC online display is not necessary one can skip this option.
179
180 --with-pubsub=<dir> # the top dir of the HLT PubSub framework
181
1825.6 Final remarks/further information
183-------------------------------------
184\b Note: You can have several build directories with different configure
185options, but using the same source code.
186
187If you need further information on the GNU build system, execute from the
188top directory:
189
190 ./configure --help | less
191
192
1936. Documentation
194================
195Documentation is build as part of the build process if \b doxygen is installed.
196The documentation can be opended from the
197 doc/html/
198sub-folder of your build directory. E.g with a web browser like firefox
199(assuming you are in the build directory):<br>
200 firefox file://`pwd`/doc/html/index.html
201
202A special target can be used to make a tar ball out of the documentation (again
203provided you are in the build directory):<br>
204 (cd doc && make tar-ball)
205
206On-line documentation is available at
207 http://web.ift.uib.no/~kjeks/doc/alice-hlt/
208
2097. Further information
210======================
211A wiki with detailed information is set up at
212 http://www.kip.uni-heidelberg.de/wiki/HLT
213
2148. Reporting bugs/Asking for support
215====================================
216Please include the following information into your report/request:
217 - config.log from your build directory
218 - output of the make process. Note: Redirect BOTH the stdout and stderr
219 channel to a log file. Redirection depends on the shell you are using: <br>
220 bash: make 2>&1 | tee make.log <br>
221 csh: make |& tee make.log <br>
222 The 'tee' command just duplicates the output.
223 - history of the commands you are using for compilation
224 history > history.log
225
2269. Committing to the AliRoot SVN
227================================
228For development of HLT analysis code check out a HEAD version from the
229repository and implement your code.
230
231For committing do:
232 - 1. make sure that the code changes are correct <br><tt>
233 svn diff | less </tt><br>
234 \b Remember to restore all temporary changes you made (e.g. log level)
235 - 2. svn update
236 - 3. correct merging conflicts
237 - 4. compile and test your code again
238 - 5. depending on where you changes are send the whole HLT module except the build
239 sub-directories or your HLT sub- directory to
240 Matthias.Richter@ift.uib.no
241 Please include a message/description for the check in
242 - 6. you will get a notification when the code is committed, right after that
243 you must either do another svn update or check out the complete module
244 again in order to have the right SVN information. Please check that your
245 code has been correctly committed.