Skip to content

Installtion de la DAQ de Lyon sur Alma Linux 9.8

Packages

sudo dnf install epel-release
sudo dnf install wget git gcc gcc-c++ libftdi-c++ libftdi-c++-devel libftdi libftdi-devel cmake e2fsprogs-devel python-devel emacs
sudo dnf install -y log4cxx-devel boost-devel jsoncpp-devel zeromq-devel     libcurl-devel libftdi-c++-devel sqlite-devel mongo-c-driver-devel
sudo dnf install -y ninja-build openssl-devel boost-devel zlib-devel openssl-devel jsoncpp-devel libzstd-devel
sudo dnf install -y  tar cjson-devel

Installation de CPPREST

git clone https://github.com/Microsoft/cpprestsdk.git
cd cpprestsdk
git submodule update --init
mkdir build && cd build

Modifier cpprest/Release/CMakelist.txt

#set(CPPREST_EXCLUDE_WEBSOCKETS ON CACHE BOOL "Exclude websockets functionality.")
mv ../Release/CMakeLists.txt  ../Release/CMakeLists.txt.back; 
cat ../Release/CMakeLists.txt.back | sed 's,EXCLUDE_WEBSOCKETS OFF,EXCLUDE_WEBSOCKETS ON,g' > ../Release/CMakeLists.txt

Compilation

cmake .. -DCMAKE_BUILD_TYPE=Release  -DBoost_INCLUDE_DIR=/usr/include/boost -DCMAKE_CXX_FLAGS="-Wno-format-truncation" 
make
sudo make install
cd

Compilation de mosquitto

wget https://mosquitto.org/files/source/mosquitto-2.0.14.tar.gz
tar zxvf mosquitto-2.0.14.tar.gz
cd mosquitto-2.0.14
sed -i '16a WITH_CLIENT_LIBRARIES:=yes' config.mk
# vi config.mk Ajouter WITH_CLIENT_LIBRARIES:=yes
make
sudo make install
cd

Installer docker

 #1. Supprimer les anciens paquets Docker ou Podman qui pourraient causer des conflits
sudo dnf remove -y docker   docker-client   docker-client-latest   docker-common   docker-latest   docker-latest-logrotate   docker-logrotate   docker-engine   podman   runc
 # 2. Installer l'outil pour gérer les dépôts
sudo dnf install -y dnf-plugins-core
 # 3. Ajouter le dépôt officiel de Docker
 #    La commande utilise le dépôt "centos", qui est compatible avec AlmaLinux [citation:3][citation:6][citation:8].
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
 # 4. Installer Docker Engine, le CLI, containerd et les plugins (Buildx, Compose)
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
systemctl status docker  
 # Vérifier le statut du service
systemctl status docker
 # Tester l'installation avec un conteneur de démonstration
sudo docker run hello-world
 # Ajouter l'utilisateur courant au groupe docker
sudo usermod -aG docker $USER

Installer ROOT

sudo dnf install git make cmake gcc-c++ gcc binutils libX11-devel libXpm-devel libXft-devel libXext-devel python openssl-devel xrootd-client-devel xrootd-libs-devel xxhash-devel tbb-devel
cd
wget https://root.cern/download/root_v6.40.04.Linux-almalinux9.8-x86_64-gcc11.5.tar.gz
tar -zxvf root_v6.40.04.Linux-almalinux9.8-x86_64-gcc11.5.tar.gz 
source root/bin/thisroot.sh 

Installer PMDAQ

cd /opt/
sudo chmod o+w . 
git clone http://github.com/mirabitl/pmdaq.git
sudo chmod o-w .

Compilation du reader FEBV2

cd
mkdir ibeb
cd ibeb
source ${HOME}/root/bin/thisroot.sh 
cmake /opt/pmdaq/picmic/reader
make

Installation des packages auxiliaires

cd /tmp
mkdir -p netlink
wget http://mirabitl.web.cern.ch/daq_install/netlink_6_mac.tar.gz
tar zxvf netlink_6_mac.tar.gz;
cd netLink/;
mkdir build;
cd build;
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/;sudo make install;

zmq

cd /tmp
mkdir -p zmq
cd zmq
wget http://mirabitl.web.cern.ch/daq_install/zguide.tar.gz
tar zxvf zguide.tar.gz
sudo cp zguide/examples/C++/zhelpers.hpp /usr/local/include
wget http://mirabitl.web.cern.ch/daq_install/cppzmq.tar.gz
tar zxvf cppzmq.tar.gz
sudo cp cppzmq/*.hpp /usr/local/include

Paho-mqtt

sudo dnf config-manager --set-enabled crb
sudo dnf install doxygen
wget http://mirabitl.web.cern.ch/daq_install/paho.install
chmod +x paho.install
./paho.install

Utilities

## Listdevices FTDI
wget http://mirabitl.web.cern.ch/daq_install/ListDevices.py
chmod +x ListDevices.py
sudo mv ListDevices.py /usr/local/bin/

## Python packages
## You may use python venv instead...
sudo pip3 install requests pysocks pymongo transitions pyserial json2html termcolor

## Caen driver C
cd /tmp;
mkdir -p caen
cd caen
wget http://mirabitl.web.cern.ch/daq_install/CAENHVWrapper-6.0-build20190117.tgz 
tar zxvf ./CAENHVWrapper-6.0-build20190117.tgz 
cd CAENHVWrapper-6.0/
sudo ./install.sh
if [ -f /usr/lib64/libcaenhvwrapper.so ]; then      sudo ln -s /usr/lib64/libcaenhvwrapper.so  /usr/lib/libcaenhvwrapper.so; fi

Compile PMDAQ

cd
mkdir -p bpmdaq
cd bpmdaq
cmake /opt/pmdaq/ -DCMAKE_INSTALL_PREFIX:PATH=/usr/local/pmdaq
make -j2 
sudo make install;