Package: ALICE HLT This package implements the ALICE High Level Trigger analysis framework. All contributions are under the terms of the GNU General Public License as published by the Free Software Foundation. Also see files AUTHORS and THANKS. This packages is maintained by Matthias.Richter@ift.uib.no Comments, bug reports, suggestions welcome! Overview ======== This package provides a compilation of shared libraries of the ALICE HLT project and is intended for stand-alone compilation, i.e. not as part of the AliRoot compilation. - BASE: The base library (libHLTbase.so) provides the common interface for HLT processing components, the binding into the ALICE offline project AliRoot and a pure C interface to the HLT on-line framework (Publisher/Subscriber framework) - SampleLib: The sample library contains examples for component implementation and a tutorial. - TPCLib: The HLT code for the TPC - TPCLib/OnlineDisplay: HLT visualization code for the TPC Currently, the the package is not included to the standard AliRoot compilation, but will be part of it. The old stand-alone build system is still available. Check the README file in the doc folder. Requirements ============ The package needs both ROOT and AliRoot. Both must be set up in the usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are not dependend on AliRoot. The TPCLib does. To set up a version retrieved from CVS, autoconf 2.57, automake 1.6 ,and libtool 1.4 or higher versions are required. Thats the versions which come with the Scientific Linux CERN 3. The same applies if you want to change the Makefiles. If your GNU build tools are too old, ask the maintainers for a distributed package. Setting up a version retrieved from CVS ======================================= Skip this section if you have started from the tar ball. A version checked out from CVS requires a few steps to set up the Makefiles. Go to the directory and run autoreconf -i -f Then continue with the package configuration described in the 'Installation' section. Modifying a distributed package =============================== If you are going the modify a distributed package you might need to re-make the GNU build system by running autoreconf -f -i Please notify the authors about bug fixes/corrections/extensions you made if you consider them worth to be merged into the project. Then continue with the package configuration described in the 'Installation' section. Installation ============ NOTE: The Makefiles which are in repository are part of the old build system. Now, the Makefile.am templates are valid. Package build relies on the GNU triplet configure, make and make install. In order to keep the development directory clean, it is recommended to use a separate build directory. mkdir build cd build ../configure make make install You should redirect the output of the make into a file. The default install directories are set to the current directory ($PWD). To override the default prefix use --prefix= Some important options: --enable-logging # Enable/Disable logging (default enabled) --enable-sample # Compile the sample library --enable-tpc # Compile the TPC library Note: You can have several build directories with different configure options, but using the same source code. If you need further information on the GNU build system, execute from the top directory: ./configure --help | less Documentation ============= Documentation is generated from the source code at compile time if doxygen is installed on the machine. From the build directory, open doc/html/index.html with a web browser. Further information =================== A wiki with detailed information is set up at http://www.kip.uni-heidelberg.de/wiki/HLT Reporting bugs/Asking for support ================================= Please include the following information into your request: - config.log from your build directory - output of the make process. Note: Redirect BOTH the stdout and stderr channel to a log file. Redirection depends on the shell you are using: bash: make 2>&1 | tee make.log csh: make |& tee make.log The 'tee' command just duplicates the output.