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
Netlink
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;