Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This section is only recommended for SW developers.

The following instructions describe how to build DAOS from source code. The following steps are required:

  1. Install dependencies
  2. Download source code
  3. Build
  4. Environment setup

The approximate time to read and execute the steps on this guide is around 25 minutes per OS.

The time may change based on your network speed and processing power.

Installation of pre-requisites

The following packages are required

CentOS

Code Block
languagebash
titleInstallation of pre-requisites CENTOS
linenumberstrue
# Run all commands as root
# Install DNF package manager
yum clean all
&& \
yum -y install dnf dnf-plugins-core epel-release

# &&DNF \Section
yumdnf -y install deltarpm
upgradednf &&-y \upgrade
yumdnf -y install \
        boost-python36-devel \
        clang-analyzer \
        cmake \
        CUnit-devel \
        doxygen \
        e2fsprogs \
        file \
        flex \
        fuse3-devel \
        gcc \
        gcc-c++ \
        git \
        golang \
        graphviz \
        hwloc-devel \
        ipmctl \
        java-1.8.0-openjdk \
        json-c-devel \
        lcov \
        libaio-devel \
        libcmocka-devel \
        libevent-devel \
        libipmctl-devel \
        libiscsi-devel \
        libtool \
        libtool-ltdl-devel \
        libunwind-devel \
        libuuid-devel \
        libyaml-devel \
        Lmod \
        lz4-devel \
        make \
        man \
        maven \
        nasm \
        ndctl \
        numactl \
        numactl-devel \
        opensslopenmpi3-devel \
        pandocopenssl-devel \
        patchpandoc \
        patchelfpatch \
        pciutilspatchelf \
        python3-pippciutils \
        python36-Cython \
        python36-devel \
        python36-distro \
        python36-jirajunit_xml \
        python36-numpy \
        python36-paramiko \
        python36-pylint \
        python36-requests \
        python36-requeststabulate \
        python36-tabulatepyxattr \
        python36-pyxattrPyYAML \
        python36-scons \
        sg3_utils \
        valgrind-develsudo \
        yasm && \
yum clean all
yum -y install openmpi3-devel && yumvalgrind-devel \
        yasm
dnf clean all


SuSE

Code Block
languagebash
titleInstallation of pre-requisites SUSE
linenumberstrue
# Run as root 
zypper --non-interactive update && \ --gpg-auto-import-keys --no-gpg-checks ref
zypper --non-interactive update
zypper --non-interactive install \
    boost-devel \
    clang \
    cmake \
    cunit-devel \
    curl \
    doxygen \
    flex \
    fuse3-devel \
    gcc \
    gcc-c++ \
    git \
    go1.14 \
    go1.14-race \
    graphviz \
    gzip \
    hwloc-devel \
    ipmctl-devel \
    java-1_8_0-openjdk-devel \
    libaio-devel \
    libcmocka-devel \
    libevent-devel \
    libiscsi-devel \
    libjson-c-devel \
    libltdl7 \
    liblz4-devel \
    libnuma-devel \
    libopenssl-devel \
    libtool \
    libunwind-devel \
    libuuid-devel \
    libyaml-devel \
    lua-lmod \
    make \
    man \
    maven \
    nasm \
    openmpi3-devel \
    pandoc \
    patch \
    patchelf \
    pciutils \
    python3-devel \
    python3-distro \
    python3-junit-pipxml \
    python3-pyxattr  \
    python3-PyYAML \
    python3-tabulate \
    scons \
    sg3_utils \
    sudo \
    valgrind-devel \
    which \
    yasm && \ 

  zypper clean --all

update-ca-certificates
zypper --non-interactive --no-gpg-checks install --allow-unsigned-rpm lua-lmod
zypper --non-interactive install -y ipmctl-devel go1.14 go1.14-race


Daos source code

Download daos source code using the following command:

Code Block
languagebash
titlegit clone
linenumberstrue
 git clone --recurse-submodules -b v1.2-rc1 https://github.com/daos-stack/daos.git


Building DAOS & Dependencies

Once the sources are downloaded, the pre-requisites to build the source code can be installed by:

Note:

CentOS

Code Block
languagebash
titleBuild in Centos
linenumberstrue
cd daos
scons-3 --config=force --build-deps=yes install -j 8


SuSE

Code Block
languagebash
titleBuild in SuSE
linenumberstrue
cd daos
scons --config=force --build-deps=yes install -j 8


Environment setup

Once DAOS has been built, the environment must be modified to search for binaries and header files in the installation path. 


Code Block
languagebash
titleenv setup
# Within daos repository, after build step
source utils/sl/setup_local.sh