Skip to content

Build main wire cell toolkit

Haiwang Yu edited this page Jun 24, 2022 · 7 revisions
  • get source
git clone https://github.com/WireCell/wire-cell-toolkit.git
cd wire-cell-toolkit
  • configure (assuming all the dependencies are ready and env variables are set following the UPS style)
./wcb configure \
--with-tbb="$TBBROOT" \
--with-jsoncpp="$JSONCPP_FQ_DIR" \
--with-jsonnet="$JSONNET_FQ_DIR" \
--with-eigen-include="$EIGEN_DIR/include/eigen3/" \
--with-root="$ROOTSYS" \
--with-fftw="$FFTW_FQ_DIR" \
--with-fftw-include="$FFTW_INC" \
--with-fftw-lib="$FFTW_LIBRARY" \
--with-fftwthreads="$FFTW_FQ_DIR" \
--boost-includes="$BOOST_INC" \
--boost-libs="$BOOST_LIB" \
--boost-mt \
--with-hdf5="$HDF5_FQ_DIR" \
--with-h5cpp="$H5CPP_DIR" \
--with-spdlog-include="$SPDLOG_INC" \
--with-spdlog-lib="$SPDLOG_LIB" \
--prefix=<path-to-install>

Note: current wire-cell-toolkit needs tbb version > 2021.1.1. The one in the current container is older than this. So one needs to build tbb first. tbb building tip: cmake configuration from here

cmake ../oneTBB\
  -DBUILD_SHARED_LIBS:BOOL=ON \
  -DCMAKE_INSTALL_LIBDIR=lib \
  -DCMAKE_INSTALL_PREFIX=<tbb-install> \
  -DTBB_EXAMPLES:BOOL=OFF \
  -DTBB_FIND_PACKAGE:BOOL=OFF \
  -DTBB_STRICT:BOOL=ON \
  -DTBB_TEST:BOOL=OFF
  • build & install
./wcb -p --notests build install
  • add path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH=<path-to-install>/lib64:$LD_LIBRARY_PATH
  • add path to WIRECELL_PATH
export WIRECELL_PATH=<wire-ceel-gen-kokkos-source>/cfg/:<wire-cell-toolkit-source>/cfg/:<wire-cell-data>/
Clone this wiki locally