Skip to content

Latest commit

 

History

History
147 lines (102 loc) · 4.33 KB

requirements.rst

File metadata and controls

147 lines (102 loc) · 4.33 KB

Requirements

Operating System

  • Linux kernel >= 3.0
  • util-linux >= 2.20 (these utilities are usually bundled with the Linux distribution itself; v2.20 was released in August 2011)
  • The following kernel modules loaded:
    • loop
    • squashfs
    • overlayfs

Software

System packages

For Debian-based systems (tested on Debian 10 and Ubuntu 18.04):

../../CI/installation/install_packages_ubuntu:18.04.sh

For CentOS 7:

../../CI/installation/install_packages_centos:7.sh

Python 3 is required if you are interested to also run the integration tests:

# Debian/Ubuntu
$ sudo apt-get install python3 python3-pip python3-setuptools

# CentOS
$ sudo yum install python3 python3-pip python3-setuptools

# All platforms, after installing Python + pip
$ pip3 install setuptools
$ pip3 install pytest gcovr pexpect

Note

If you plan to install Sarus using the Spack package manager, you can skip the rest of this page, since the remaining dependencies will be installed by Spack itself.

Additional dependencies

Important

We recommend these versions as they are the ones routinely used for build integration and testing, thus guaranteed to work.

As the specific software versions listed above may not be provided by the system package manager, we suggest to install from source:

Note

The following instructions will default to /usr/local as the installation prefix. To install to a specific location, use the -DCMAKE_INSTALL_PREFIX CMake options for libarchive and C++ REST SDK and the --prefix option for the Boost libraries.

../../CI/installation/install_dep_boost.bash

../../CI/installation/install_dep_libarchive.bash

../../CI/installation/install_dep_cpprestsdk.bash

../../CI/installation/install_dep_rapidjson.bash

Note

Should you have trouble pointing to a specific version of Boost when building the C++ REST SDK, use the -DBOOST_ROOT CMake option with the prefix directory to your Boost installation.

OCI-compliant runtime

Sarus internally relies on an OCI-compliant runtime to spawn a container.

Here we will provide some indications to install runc, the reference implementation from the Open Container Initiative. The recommended version is v1.0.0-rc10.

The simplest solution is to download a pre-built binary release from the project's GitHub page:

../../CI/installation/install_dep_runc.bash

Alternatively, you can follow the instructions to build from source, which allows more fine-grained control over runc's features, including security options.

Init process

Sarus can start an init process within containers in order to reap zombie processes and allow container applications to receive signals.

Here we will provide some indications to install tini, a very lightweight init process which is also used by Docker. The recommended version is v0.19.0.

The simplest solution is to download a pre-built binary release from the project's GitHub page:

../../CI/installation/install_dep_tini.bash

Alternatively, you can follow the instructions to build from source.