WIP: a couple corrections in CMake files to compile with netio, few other modifications
The main addition is the tbb
library in the CMakeLists
when NetIO is enabled: the netio
depends on certain symbols from the tbb
. In addition the standard tbb
installed with yum
does not seem to work all right. And following TDAQ' prescriptions, we get the tbb
from:
/cvmfs/sft.cern.ch/lcg/releases/LCG_94/tbb/2018_U1/x86_64-centos7-gcc8-opt/
Another CMake change: the minimum gcc version is 8. Compilations with older gcc would run into some unclear issues in netio.
It compiles with the TDAQ setup script, that looks like this at our test bench PC:
#!/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
And to compile YARR with Netio:
cd src
mkdir -p build
cmake3 -B build/ -S . -D CMAKE_TOOLCHAIN_FILE=cmake/linux-gcc -D ENABLE_NETIO:BOOL=ON -D NETIO_DIR:PATH=${NETIO_DIR}/x86_64-centos7-gcc8-opt -D TBB_DIR:PATH=/cvmfs/sft.cern.ch/lcg/releases/LCG_94/tbb/2018_U1/x86_64-centos7-gcc8-opt/
cd build
make -j 6
And there is a number of smaller corrections, like the verbose and debug printouts in the NetioRxCore and NetioTxCore.