Adding YARR and NetIO functionality
Implemented the EndeavourRaw
interface in the EndeavourRawGBT
class that interfaces to YARR's HwController
s, one of which is Netio.
An example of using the EndeavourRawGBT
is implemented in the pbv3/tools/endeavour.cpp
utility.
Also there are a couple corrections in the CMakeFiles to compile it with YARR. For now the paths to all dependencies are passed by command line options, nothing is found automatically. The dependencies are:
- YARR's headers
- the
libYarr.a
library - the netio library
- and the tbb library that netio depends on.
The build commands are recorded in the notes
file. A compilation with YARR looks like this:
export TBB_DIR=/cvmfs/sft.cern.ch/lcg/releases/LCG_94/tbb/2018_U1/x86_64-centos7-gcc8-opt/
export FELIX_DIR=/home/atlas/itk/tdaq/installed/
export YARR_SOURCE=/home/atlas/itk/YARR/src/
export YARR_LIB=/home/atlas/itk/YARR/src/build/lib/
mkdir -p build/
cmake3 -S . -B build/ \
-D ENABLE_YARR_NETIO:BOOL=ON \
-D YARR_SOURCE:PATH=${YARR_SOURCE} \
-D YARR_LIB:PATH=${YARR_LIB} \
-D NETIO_DIR:PATH=${FELIX_DIR}/x86_64-centos7-gcc8-opt \
-D TBB_DIR:PATH=${TBB_DIR}
cd build/
make -j 5
It compiles with the TDAQ setup.sh
script, which uses gcc 8.2:
#!/bin/bash
version=x86_64-centos7-gcc8-opt
source tdaq/cmake_tdaq/bin/setup.sh $version
source /cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0/x86_64-centos7/setup.sh
export NETIO_DIR=`pwd`/tdaq/installed
export LD_LIBRARY_PATH=`pwd`/tdaq/installed/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_94/tbb/2018_U1/x86_64-centos7-gcc8-opt/lib:$LD_LIBRARY_PATH
During the tests, I tried using a more general Centos' devtoolset-8
, but ran into some unclear issues. If needed I can check what is the difference between the devtools and the tdaq setup.