Skip to content

Setup drunc with DUNE DAQ

Pawel Plesniak edited this page Aug 9, 2024 · 5 revisions

You need to set up dunedaq with a relatively new nightly (post v4.1.0), it is recommended to use the official instructions or loosely follow the guide below.

Setting up a software area

With DUNE-DAQ

This is only intended as a skeleton, for full guidance refer to this guide.

source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh     # sets up dunedaq env var paths
setup_dbt latest                                               # sets up the latest version of dunedaq buildtools
dbt-create -c <opts> <version_name> <work_dir_name>            # creates the work dir
cd <work_dir_name>                                             # enter the work dir
. env.sh                                                       # updates the PATH type env vars, sets up build environment, 
cd sourcecode                                                  # enter the sourcecode dir 
git clone # any DUNE-DAQ package needed                        # installs any required packages
cd ..                                                          # return to the work_dir root
dbt-build                                                      # builds any local packages included in CMake
dbt-workarea-env                                               # sets up the PATH type env vars

The output of this looks approximately like this.

Note - Installing the nightly will install the latest version (develop) of drunc as of midnight of the day previous to the specified version. Installing with a fddaq release will include a packaged version.

Optional - installing drunc from its sources

A couple of reasons for doing this:

  • You want the latest and greatest drunc,
  • You want to modify drunc.

You will need to (starting from the working directory root)

cd sourcecode                                                  # enter the sourcecode dir 
git clone git@github.com:DUNE-DAQ/druncschema.git -b develop   # clone the develop branch of druncschema
cd druncschema                                                 # enter the drunschema directory
pip install .                                                  # install druncschema in the venv
cd ..                                                          # return back to the sourcecode directory
git clone git@github.com:DUNE-DAQ/drunc.git -b develop         # clone the develop branch of drunc
cd drunc                                                       # enter the drunc directory
pip install .                                                  # install drunc in the venv

Note - if you want to continuously get the latest versions of drunc instead of just getting it once, you need to amend the pip install . lines to

pip install -e .

This way you will not need to keep running pip uninstall and reinstalling every time you git pull. Both drunc and druncschema are needed in the model as druncschema is a dependency of drunc, and druncschema defines the gRPC inter-process messaging structure.

Optional - starting a kafka instance

Reasons for doing this:

  • You are not at EHN1.

You need to set up a kafka instance and do modifications to the configurations using a dockerized version. This is uses the pocket repository. Setup instructions are here.

What next?

Head to the running instructions to start drunc.