Installation¶
The installation instructions are tested against Ubuntu 20.04 for Python 3.7 and Python 3.8. The particular commands required for installation depend on your setup. The dependencies below are not always mandatory, if they are not used.
Requirements¶
Dependency |
Minimum Version |
Notes |
|---|---|---|
Python |
3.7 |
|
libpq |
9.6 |
Required by psycopg2. |
libfuse |
2.9.9 |
If uchroot is used. |
unionfs-fuse |
1.0 |
If unionfs support is used. |
slurm-llnl |
18.08 |
If slurm support is used. |
PostgreSQL¶
The library dependency libpq is always need right now, because we make use of psycopg2 features internally. It is planned to get rid of this dependency in the future.
FUSE¶
BenchBuild can make use of unionfs and libfuse. This is often used in conjunction with a tool named uchroot which provides legacy support for user-space containers.
This will be obsolete as soon as podman/buildah based OCI container support is considered stable.
SLURM¶
The cluster management software slurm is only required by ‘name’, i.e., we have to be able to import the binaries as python objects in benchbuild. As an alternative to installing slurm on your machine, you can always provide symlinks to /bin/true to the commands sbatch and srun.
The minimum version should signal the minimum features set expected by BenchBuild when generating a slurm batch script.
Benchbuild¶
BenchBuild is released via pip and can be installed on your system as follows:
pip install benchbuild
If you want to isolate BenchBuild from the rest of your system packages, you can install it in a dedicated virtual environment.
virtualenv -ppython3 <venv_path>
source <venv_path>/bin/activate
pip3 install benchbuild
Bootstrapping¶
BenchBuild provides a bootstrap procedure that checks a few key binaries on your system and tries to assist you in installation of any necessary binaries.