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.
bash
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)
bash
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
drunc instead of just getting it once, you need to amend the pip install . lines to
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.