Larsoft Setup - Thomas-Ham/larreco GitHub Wiki

First time setup

source /cvmfs/sbnd.opensciencegrid.org/products/sbnd/setup_sbnd.sh

Check sbndcode versions

ups list -aK+ sbndcode

Setup with chosen version

setup larsoft v08_16_00 -q e17:prof

mrb newDev
source localProducts_larsoft_v08_16_00_e17_prof/setup
cd srcs
mrb g --repo-type github sbndcode 

Can choose to add other Larsoft repositories at this point too (e.g. larreco etc.)

If you choose to clone repositories in the "standard" way (i.e. git clone yada yada) instead of mrb g as above, need to run mrb uc to update the CMake files with the new repositories. This might be useful if using a forked repository instead of an official release.

Build it

cd $MRB_BUILDDIR
mrbsetenv
mrb install -j 4     # might be worth building on one of the buildgpvm's to speed this up (-j 64)
mrbslp

Setup now that it's built (make this a script)

source /cvmfs/sbnd.opensciencegrid.org/products/sbnd/setup_sbnd.sh

cd /to/the/install/area
source localProducts_larsoft_v08_16_00_e17_prof/setup
mrbslp
mrbsetenv

Recompiling to apply changes

If only existing files have been changed

cd $MRB_BUILDDIR
make -j4               # Faster than doing mrb i 

If new files have been added need to do

mrb i -j4              # Don't need to go to the build directory 

Wipe install and recompile from scratch

cd $MRB_BUILDDIR
mrb z
mrbsetenv
mrb install -j 4

Using the Ninja build system (instead of make)

Can choose to use Ninja instead of make which might be faster (or at least feel faster)

On a fresh install, first compile with

mrb i --generator ninja

and recompile with

cd $MRB_BUILDDIR
ninja install   # uses max cores by default I believe