Skip to content

Build Debian

HLXEasy edited this page Aug 26, 2021 · 11 revisions

How to build the Alias wallet on Debian

In the following a short description how to build aliaswallet and aliaswalletd on Debian.

Preparing build system

Update package lists and update system:

apt-get update -y && apt-get upgrade -y

Install build time dependencies:

Debian Buster

apt-get install -y --no-install-recommends \
    autoconf \
    automake \
    autopoint \
    build-essential \
    ca-certificates \
    cmake \
    g++-7 \
    git \
    less \
    libcap-dev \
    libqt5network5 \
    libqt5quick5 \
    libqt5quickwidgets5 \
    libqt5svg5-dev \
    libqt5webchannel5-dev \
    libqt5websockets5-dev \
    libqt5webview5-dev \
    libqt5widgets5 \
    libseccomp-dev \
    libssl-dev \
    libtool \
    locales \
    make \
    openssh-client \
    pkg-config \
    qt5-default \
    qtbase5-dev \
    qttools5-dev-tools \
    qtwebengine5-dev \
    wget

Debian Stretch

Activate backports repo

This is required for boost packages.

Create file /etc/apt/sources.list.d/stretch-backports.list with the following content:

deb http://ftp.debian.org/debian stretch-backports main

Required packages for build

Update package lists and update system:

apt-get update -y && apt-get upgrade -y

Install build time dependencies. Attention, no gcc at this point!

apt-get install -y --no-install-recommends \
    ca-certificates \
    git \
    less \
    libcap-dev \
    libqt5network5 \
    libqt5quick5 \
    libqt5quickwidgets5 \
    libqt5svg5-dev \
    libqt5webchannel5-dev \
    libqt5websockets5-dev \
    libqt5webview5-dev \
    libqt5widgets5 \
    libseccomp-dev \
    libssl-dev \
    libtool \
    libz-dev \
    locales \
    make \
    mc \
    openssh-client \
    pkg-config \
    qt5-default \
    qtbase5-dev \
    qttools5-dev \
    qttools5-dev-tools \
    qtwebengine5-dev \
    wget

The package mc (Midnight Commander) is there just for convenience. ;-)

Activate testing repo

This is required to compile with language level C++17, for which we need gcc7.

Create file /etc/apt/sources.list.d/testing.list with the following content:

deb http://http.us.debian.org/debian/ testing non-free contrib main

Install C++17 build tools

Update package repositories and install tools. Attention, no upgrade here as this would also upgrade previously installed components! At the moment we need only the build tools from testing repo.

apt-get update -y
apt-get install -y --no-install-recommends \
    autoconf \
    automake \
    build-essential \
    g++-7

See up2date list of build time dependencies on corresponding Dockerfile, which is used to build Alias on our Continuous Integration.

Build

To build Alias you need to do the same steps as we do using Docker. The latest version can be found here.

  • Clone the Git repository and cd into the directory
    » git clone https://github.com/aliascash/alias-wallet.git
    » cd alias-wallet
    
  • Perform the build
    » ./scripts/cmake-build.sh -g -s
    

For further build options, have a look at the output of

» ./scripts/cmake-build.sh -h

Please note that there might be issues with the Ui on Debian Stretch. This is already addressed with issue #33.

The two binaries aliaswallet (UI) and aliaswalletd (daemon) can be found in the directory cmake-build-cmdline/aliaswallet/src/ afterwards.

To install them, just do this:

cp cmake-build-cmdline/aliaswallet/src/aliaswallet  /usr/local/bin/aliaswallet
cp cmake-build-cmdline/aliaswallet/src/aliaswalletd /usr/local/bin/aliaswalletd

Now you can use them right from the cmdline.

Please refer to these additional documentations regarding the installation:

Clone this wiki locally