# Build DUNE-DAQ release for CentOS Stream 8. ###### tags: `DAQ` `protoDUNE` `DUNE` `Software Management` ## Current UPS products for CentOS 7 ## Build external products * Use `np04-srv-019` to build the external products and the DAQ release. ```shell= [pding@np04-srv-019 ~]$ cat /etc/redhat-release CentOS Stream release 8 ``` * Set up local build area for UPS products ```shell= mkdir -p /scratch/dunedaq_cs8 # set up http proxy for public internet access source ~np04daq/bin/web_proxy.sh # clone daq-release repo git clone https://github.com/DUNE-DAQ/daq-release # create new UPS products area ./daq-release/scripts/create-ups-products-area.sh -t /scratch/dunedaq_cs8/products source /scratch/dunedaq_cs8/products/setup ``` * Build `gcc v8.2.0`, `boost v1.73.0` and various versions of `cmake` for CS8 ```shell= cd /scratch/dunedaq_cs8/products curl https://scisoft.fnal.gov/scisoft/packages/gcc/v8_2_0/gcc-8.2.0-source.tar.bz2|tar xj cd gcc/v8_2_0 ./build_gcc.sh /scratch/dunedaq_cs8/products tar * Build `cmake v3_10_1`, this is used by `cetpkgsupport` ``` * Obtain `catch`, `cetpkgsupport` and `cetbuildtools` from [SciSoft](https://scisoft.fnal.gov/scisoft/packages/). * Build `cppunit v1_15_1a` and `tbb v2020_2a`. * Build `sqlite v3_32_03_00` * Build `hep_concurrency`, `cetlib_except` and `cetlib` for CS8 These three packages have their repositories hosted on `cdcvs.fnal.gov`, which are only accessible from onsite@Fermilab. Cloning those on a DUNE GPVM node with: ```shell= for i in hep_concurrency cetlib cetlib_except; \ do \ git clone http://cdcvs.fnal.gov/projects/$i; \ done ``` Then check out the versions used by the latest DUNE DAQ release (refer to the `release_manifest.sh` in `daq-release` for the latest frozen release.) * Build `hdf5 v1_12_0a`, `gdb` and `clang`. * Build `ninja`, `python` Install `libffi-dev`, `libnsl2-devel`, `libtirpc-devel`, `openssl-devel`, `gdbm_devel` before building `python`, otherwise it will end with error building `_ctypes`, `_gdbm`, `_dbm`, and `_nis` module. * Build `highfive`, `pistache`, `nlohmann_json`, `cpr` (with `ssibuildshimlibs`) `cpr` build script has an error (`mkdir -l` instead of `mkdir -p`) * Build ` double_conversion fmt glog googletest libevent folly zmq cppzmq msgpack_c pybind11 pugixml librdkafka yaml_cpp` using `cetbuildtools` * Tripped over pistache... It does not have a tag, instead we were using the commit dated on 2020-10-07 * Build `protobuf` and new version of `highfive`; building `protobuf` requires system packages for `libtool` `autoconf` and `automake`. ## Build `dunedaq-v2.8.0` and `dunedaq-develop` release * Had to install `ztsd`, `libzstd-devel`