Centos 7.7

This section contains shell commands to manually download, build, install, test, and uninstall EOSIO and dependencies on Centos 7.7.

Building EOSIO is for Advanced Developers

If you are new to EOSIO, it is recommended that you install the EOSIO Prebuilt Binaries instead of building from source.

Select a task below, then copy/paste the shell commands to a Unix terminal to execute:

Building EOSIO on another OS?

Visit the Build EOSIO from Source section.

Download EOSIO Repository

These commands set the EOSIO directories, install git, and clone the EOSIO repository.

# set EOSIO directories
export EOSIO_LOCATION=~/eosio/eos
# install git
yum update -y && yum install -y git
# clone EOSIO repository
git clone https://github.com/EOSIO/eos.git $EOSIO_LOCATION
cd $EOSIO_LOCATION && git submodule update --init --recursive

Install EOSIO Dependencies

These commands install the EOSIO software dependencies. Make sure to Download the EOSIO Repository first and set the EOSIO directories.

# install dependencies
yum update -y && \
    yum install -y epel-release && \
    yum --enablerepo=extras install -y centos-release-scl && \
    yum --enablerepo=extras install -y devtoolset-8 && \
    yum --enablerepo=extras install -y which git autoconf automake libtool make bzip2 doxygen \
    graphviz bzip2-devel openssl-devel gmp-devel ocaml \
    python python-devel rh-python36 file libusbx-devel \
    libcurl-devel patch vim-common jq llvm-toolset-7.0-llvm-devel llvm-toolset-7.0-llvm-static
# build cmake
cd $EOSIO_INSTALL_LOCATION && curl -LO https://cmake.org/files/v3.13/cmake-3.13.2.tar.gz && \
    source /opt/rh/devtoolset-8/enable && \
    tar -xzf cmake-3.13.2.tar.gz && \
    cd cmake-3.13.2 && \
    ./bootstrap --prefix=$EOSIO_INSTALL_LOCATION && \
    make -j$(nproc) && \
    make install && \
    rm -rf $EOSIO_INSTALL_LOCATION/cmake-3.13.2.tar.gz $EOSIO_INSTALL_LOCATION/cmake-3.13.2
# apply clang patch
cp -f $EOSIO_LOCATION/scripts/clang-devtoolset8-support.patch /tmp/clang-devtoolset8-support.patch
# build boost
cd $EOSIO_INSTALL_LOCATION && curl -LO https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2 && \
    source /opt/rh/devtoolset-8/enable && \
    tar -xjf boost_1_71_0.tar.bz2 && \
    cd boost_1_71_0 && \
    ./bootstrap.sh --prefix=$EOSIO_INSTALL_LOCATION && \
    ./b2 --with-iostreams --with-date_time --with-filesystem --with-system --with-program_options --with-chrono --with-test -q -j$(nproc) install && \
    rm -rf $EOSIO_INSTALL_LOCATION/boost_1_71_0.tar.bz2 $EOSIO_INSTALL_LOCATION/boost_1_71_0


These commands build the EOSIO software on the specified OS. Make sure to Install EOSIO Dependencies first.

EOSIO_BUILD_LOCATION environment variable

Do NOT change this variable. It is set for convenience only. It should always be set to the build folder within the cloned repository.

cd $EOSIO_BUILD_LOCATION && source /opt/rh/devtoolset-8/enable && cmake -DCMAKE_BUILD_TYPE='Release' -DLLVM_DIR='/opt/rh/llvm-toolset-7.0/root/usr/lib64/cmake/llvm' -DCMAKE_INSTALL_PREFIX=$EOSIO_INSTALL_LOCATION $EOSIO_LOCATION
cd $EOSIO_BUILD_LOCATION && make -j$(nproc)

Install EOSIO

This command installs the EOSIO software on the specified OS. Make sure to Build EOSIO first.

cd $EOSIO_BUILD_LOCATION && make install


These commands validate the EOSIO software installation on the specified OS. This task is optional but recommended. Make sure to Install EOSIO first.

cd $EOSIO_BUILD_LOCATION && source /opt/rh/rh-python36/enable && make test

Uninstall EOSIO

These commands uninstall the EOSIO software from the specified OS.

xargs rm < $EOSIO_BUILD_LOCATION/install_manifest.txt