pueoBuilder
Loading...
Searching...
No Matches
Setting Up the Environment

Step 1: install location

  • The environment variable $PUEO_UTIL_INSTALL_DIR sets the install location.
  • This could be inside the pueoBuilder/ directory.
  • In the previous section, we have cloned the pueoBuilder repository to the home directory.
  • Suppose we want an "in-source" installation, then we enter the following to the terminal
    export PUEO_UTIL_INSTALL_DIR=${HOME}/pueoBuilder/install
    Note
    You might also want to put the above in your ~/.bashrc, ~/.bash_profile, or equivalent to execute the command automatically next time you log in/start a new terminal session.
  • The install directory could be "out-of-source" as well.
    Attention
    That said, do try to have an install/ directory somewhere you can easily delete without affecting other system libraries.
    For instance, do not use /usr/local or /usr.
  • For example, you may set it to random/path/WeirdPueoInstallName.
  • In this case, the install directory is called WeirdPueoInstallName
  • The install directory does not need to know anything about the "source directory" pueoBuilder/.
  • In this sense, the install directory is "self-contained".
Deprecated

As of March 27, 2025, the following environment vairables are no longer required

  1. PUEO_BUILD_DIR
  2. NICEMC_BUILD
  3. NICEMC_SRC
  4. PUEOSIM_DATA
  5. PUEOSIM_SRC

See Building for the first time in the Old README for more information.

Step 2: dependencies

To compile the PUEO libraries and executables, you need:

Usually, you do not need to build (ie. compile) these prerequisites yourself, as they are already available as binaries; see the following subsections.

if you are on OSC: Cardinal

  • If you use the Ohio Supercomputer Center's Cardinal cluster, run
    source /fs/ess/PAS0654/software/PUEO_CERN_ROOT/env.sh
    or (if you do not have access to PAS0654)
    source /fs/ess/PAS2608/software/PUEO_CERN_ROOT/env.sh
    Warning
    Be sure that you are on Cardinal and not Pitzer.
  • You might also want to put the above command in your ~/.bashrc.
  • This sources OSC Cardinal's modules (gcc/12.3.0, cmake/3.25.2, and fftw/3.3.10)
  • As well, it allows you to use our own Python and ROOT installations by adding them to your $PATH.
    • We do this because Cardinal's ROOT does not have all the features currently required by PUEO.
    • You can type which root to verify that you are running our own ROOT
      You should see something like

      ‍/fs/ess/PAS0654/software/PUEO_CERN_ROOT/root-6.28.06_install/bin/root

    • If you wish to compile ROOT and Python yourself on OSC, see Optional: Cardinal.

if you are on Midway 3

If you are on the UChicago Midway Cluster (Midway 3):

source /project/avieregg/software/midway3-setup.sh
module load ROOT

This should have automatically loaded FFTW and gcc, but you'd still need to load cmake.

module load cmake/3.26
Todo
At the moment, cmake/3.30 provided by Midway does not work with our ROOT installation, although you can compile your own cmake on Midway.

other options

If you are not on either of the above clusters (e.g. if you are working locally):

  • There is a Dockerfile for you to work on macOS using Docker, see Optional: Docker.
  • You can also get the dependencies on Linux using your favorite package manager, see Example: Linux.
  • Alternatively, on Linux, you can also use Conda (Mamba) to manage the environment variable and the dependencies (This also works on the clusters).