]>
Commit | Line | Data |
---|---|---|
b521659f | 1 | Package: ALICE HLT |
2 | ||
0fc7626e | 3 | This package implements the ALICE High Level Trigger analysis framework. |
b521659f | 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 | ||
c160eda8 | 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 | =========== | |
0fc7626e | 25 | This package provides a compilation of shared libraries of the ALICE |
08e73b29 | 26 | HLT project and is intended for stand-alone compilation, i.e. not as part |
27 | of the AliRoot compilation. | |
28 | ||
b521659f | 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) | |
08e73b29 | 33 | |
b521659f | 34 | - SampleLib: The sample library contains examples for component |
35 | implementation 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 | |
08e73b29 | 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 | ||
c160eda8 | 46 | 2. Requirements |
47 | =============== | |
08e73b29 | 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 | ||
78b557c2 | 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 | ||
c160eda8 | 61 | 3. Setting up a version retrieved from CVS |
62 | ========================================== | |
b521659f | 63 | Skip this section if you have started from the tar ball. |
64 | ||
0fc7626e | 65 | A version checked out from CVS requires a few steps to set up the Makefiles. |
b521659f | 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 | ||
c160eda8 | 72 | 4. Modifying a distributed package |
73 | ================================== | |
b521659f | 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 | ||
c160eda8 | 84 | 5. Installation |
85 | =============== | |
0fc7626e | 86 | NOTE: The Makefiles which are in repository are part of the old build system. |
bd771eb6 | 87 | Now, the Makefile.am templates are valid. |
88 | ||
b521659f | 89 | Package build relies on the GNU triplet configure, make and make install. |
0fc7626e | 90 | In order to keep the development directory clean, it is recommended to |
91 | use a separate build directory. | |
b521659f | 92 | |
93 | mkdir build | |
94 | cd build | |
95 | ../configure | |
96 | make | |
97 | make install | |
98 | ||
0fc7626e | 99 | You should redirect the output of the make into a file. |
600e6a1b | 100 | The default install directory is set to the current directory ($PWD). To |
6c1a9d9e | 101 | override the default directory use the option --prefix=<dir>. More information |
102 | can be obtained from the configure script by running it with option --help. | |
103 | All binary libraries will be installed under <prefix>/lib. | |
104 | If the directory is equal to $ALICE_ROOT, the libraries will be installed under | |
105 | <prefix>/lib/tgt_<arch> as used for AliRoot. This is a custom extension in | |
106 | order to adapt to the specific AliRoot installation directories. | |
b521659f | 107 | |
108 | Some important options: | |
109 | --enable-logging # Enable/Disable logging (default enabled) | |
110 | --enable-sample # Compile the sample library | |
111 | --enable-tpc # Compile the TPC library | |
600e6a1b | 112 | --enable-phos # Compile the PHOS library |
b521659f | 113 | |
08e73b29 | 114 | Note: You can have several build directories with different configure options, |
115 | but using the same source code. | |
116 | ||
b521659f | 117 | If you need further information on the GNU build system, execute from the |
118 | top directory: | |
119 | ./configure --help | less | |
120 | ||
121 | ||
c160eda8 | 122 | 6. Documentation |
123 | ================ | |
08e73b29 | 124 | Documentation is generated from the source code at compile time if |
125 | doxygen is installed on the machine. From the build directory, open | |
126 | doc/html/index.html with a web browser. | |
127 | ||
c160eda8 | 128 | 7. Further information |
129 | ====================== | |
b521659f | 130 | A wiki with detailed information is set up at |
131 | http://www.kip.uni-heidelberg.de/wiki/HLT | |
0fc7626e | 132 | |
c160eda8 | 133 | 8. Reporting bugs/Asking for support |
134 | ==================================== | |
0fc7626e | 135 | Please include the following information into your request: |
136 | - config.log from your build directory | |
137 | - output of the make process. Note: Redirect BOTH the stdout and stderr | |
138 | channel to a log file. Redirection depends on the shell you are using: | |
139 | bash: make 2>&1 | tee make.log | |
140 | csh: make |& tee make.log | |
141 | The 'tee' command just duplicates the output. | |
c160eda8 | 142 | - history of the commands you are using for compilation |
143 | history > history.log | |
144 | ||
145 | 9. Committing to the AliRoot CVS | |
146 | ================================ | |
147 | For development of HLT analysis code check out a HEAD version from the | |
600e6a1b | 148 | repository and implement your code. |
149 | ||
150 | For committing do: | |
151 | 1. make sure that the code changes are correct | |
152 | cvs diff | less | |
153 | remember to restore all temporary changes you made (e.g. log level default) | |
154 | 2. cvs update | |
155 | 3. correct merging conflicts | |
156 | 4. compile and test your code again | |
157 | 5. send the whole HLT module except the build sub-directories to | |
c160eda8 | 158 | Matthias.Richter@ift.uib.no |
600e6a1b | 159 | 6. you will get a notification when the code is committed, right after that you |
c160eda8 | 160 | must either do another cvs update or check out the complete module again in |
161 | order to have the right CVS information |