- adapted to AliRoot logging system, messages printed out via AliRoot
[u/mrichter/AliRoot.git] / HLT / README
b521659f 1Package: ALICE HLT
0fc7626e 3This package implements the ALICE High Level Trigger analysis framework.
b521659f 4All contributions are under the terms of the
5GNU General Public License as published by the Free Software
6Foundation. Also see files AUTHORS and THANKS.
8This packages is maintained by Matthias.Richter@ift.uib.no
9Comments, bug reports, suggestions welcome!
c160eda8 11TOC
131. Overview
142. Requirements
153. Setting up a version retrieved from CVS
164. Modifying a distributed package
175. Installation
186. Documentation
197. Further information
208. Reporting bugs/Asking for support
219. Committing to the AliRoot CVS
231. Overview
0fc7626e 25This package provides a compilation of shared libraries of the ALICE
08e73b29 26HLT project and is intended for stand-alone compilation, i.e. not as part
27of the AliRoot compilation.
b521659f 29- BASE: The base library (libHLTbase.so) provides the common interface for HLT
30processing components, the binding into the ALICE offline project AliRoot
31and a pure C interface to the HLT on-line framework (Publisher/Subscriber
08e73b29 33
b521659f 34- SampleLib: The sample library contains examples for component
35implementation and a tutorial.
08e73b29 36
b521659f 37- TPCLib: The HLT code for the TPC
0fc7626e 38- TPCLib/OnlineDisplay: HLT visualization code for the TPC
b521659f 39
fc455fba 40- PHOS: The HLT code for PHOS
42- TRD: The HLT code for TRD
08e73b29 43
44The old stand-alone build system is still available. Check the README
45file in the doc folder.
c160eda8 472. Requirements
08e73b29 49The package needs both ROOT and AliRoot. Both must be set up in the
50usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in
51LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are
52not dependend on AliRoot. The TPCLib does.
78b557c2 54To set up a version retrieved from CVS, autoconf 2.57, automake 1.6
55,and libtool 1.4 or higher versions are required. Thats the versions
56which come with the Scientific Linux CERN 3. The same applies if
57you want to change the Makefiles.
59If your GNU build tools are too old, ask the maintainers for a distributed
c160eda8 623. Setting up a version retrieved from CVS
b521659f 64Skip this section if you have started from the tar ball.
0fc7626e 66A version checked out from CVS requires a few steps to set up the Makefiles.
b521659f 67Go to the directory and run
68autoreconf -i -f
70Then continue with the package configuration described in the 'Installation'
c160eda8 734. Modifying a distributed package
b521659f 75If you are going the modify a distributed package you might need to re-make
76the GNU build system by running
77 autoreconf -f -i
79Please notify the authors about bug fixes/corrections/extensions you made if
80you consider them worth to be merged into the project.
82Then continue with the package configuration described in the 'Installation'
c160eda8 855. Installation
0fc7626e 87NOTE: The Makefiles which are in repository are part of the old build system.
bd771eb6 88Now, the Makefile.am templates are valid.
b521659f 90Package build relies on the GNU triplet configure, make and make install.
0fc7626e 91In order to keep the development directory clean, it is recommended to
92use a separate build directory.
b521659f 93
fc455fba 94It is recommended to read the complete section before the build process.
965.1 For the impatiant user
b521659f 99 mkdir build
100 cd build
101 ../configure
102 make
103 make install
fc455fba 1055.2 Installation directory
600e6a1b 107The default install directory is set to the current directory ($PWD). To
6c1a9d9e 108override the default directory use the option --prefix=<dir>. More information
109can be obtained from the configure script by running it with option --help.
fc455fba 110All binary libraries will be installed under <prefix>/lib.
6c1a9d9e 112If the directory is equal to $ALICE_ROOT, the libraries will be installed under
113<prefix>/lib/tgt_<arch> as used for AliRoot. This is a custom extension in
114order to adapt to the specific AliRoot installation directories.
b521659f 115
fc455fba 1165.3 For the AliRoot user
118To install all libraries in the AliRoot lib dir:
120 mkdir build
121 cd build
122 ../configure --prefix=$ALICE_ROOT
123 make
124 make install
b521659f 125
fc455fba 1265.4 Package options
128Some important options (all options are on by default):
129--disable-sample # disable compilation the sample library
130--disable-tpc # disable compilation the TPC library
131--disable-phos # disable compilation the PHOS library
132--disable-trd # disable compilation the TRD library
133--disable-aliroot-logging # disable logging
1355.5 External packages
137PubSub framework: the TPC online display needs the HOMER interface, which
138is currently part of the PubSub framework. It is planned to integrate it
139into AliRoot.
140If the TPC online display is not necessary one can skip this option.
141--with-pubsub=<dir> # the top dir of the HLT PubSub framework
1435.6 Final remarks/further information
08e73b29 145Note: You can have several build directories with different configure options,
146but using the same source code.
b521659f 148If you need further information on the GNU build system, execute from the
149top directory:
150./configure --help | less
c160eda8 1536. Documentation
08e73b29 155Documentation is generated from the source code at compile time if
156doxygen is installed on the machine. From the build directory, open
157doc/html/index.html with a web browser.
c160eda8 1597. Further information
b521659f 161A wiki with detailed information is set up at
0fc7626e 163
c160eda8 1648. Reporting bugs/Asking for support
0fc7626e 166Please include the following information into your request:
167- config.log from your build directory
168- output of the make process. Note: Redirect BOTH the stdout and stderr
169 channel to a log file. Redirection depends on the shell you are using:
170 bash: make 2>&1 | tee make.log
171 csh: make |& tee make.log
172 The 'tee' command just duplicates the output.
c160eda8 173- history of the commands you are using for compilation
174 history > history.log
1769. Committing to the AliRoot CVS
178For development of HLT analysis code check out a HEAD version from the
600e6a1b 179repository and implement your code.
181For committing do:
1821. make sure that the code changes are correct
183 cvs diff | less
184 remember to restore all temporary changes you made (e.g. log level default)
1852. cvs update
1863. correct merging conflicts
1874. compile and test your code again
1885. send the whole HLT module except the build sub-directories to
c160eda8 189 Matthias.Richter@ift.uib.no
600e6a1b 1906. you will get a notification when the code is committed, right after that you
c160eda8 191 must either do another cvs update or check out the complete module again in
192 order to have the right CVS information