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
PUEO_BUILD_DIR
NICEMC_BUILD
NICEMC_SRC
PUEOSIM_DATA
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.
- 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).