Skip to content

How to build

Vadim Grigoruk edited this page May 20, 2019 · 9 revisions

Windows

  1. Install Visual Studio >= 2017 with CMake support.
  2. Download and install Boost prebuilt binaries https://sourceforge.net/projects/boost/files/boost-binaries/1.68.0/boost_1_68_0-msvc-14.1-64.exe, also add BOOST_ROOT to the Environment Variables.
  3. Download and install OpenSSL prebuilt binaries https://slproweb.com/products/Win32OpenSSL.html (Win64 OpenSSL v1.1.0h for example) and add OPENSSL_ROOT_DIR to the Environment Variables.
  4. Download and install QT 5.11 https://download.qt.io/official_releases/qt/5.11/5.11.0/qt-opensource-windows-x86-5.11.0.exe.mirrorlist and add QT5_ROOT_DIR to the Environment Variables (usually it looks like .../5.11.0/msvc2017_64), also add QML_IMPORT_PATH (it should look like %QT5_ROOT_DIR%\qml). BTW disabling system antivirus on Windows makes QT installing process much faster.
  5. Add .../qt511/5.11.1/msvc2017_64/bin and .../boost_1_68_0/lib64-msvc-14.1 to the System Path.
  6. Open project folder in Visual Studio, select your target (Release-x64 for example, if you downloaded 64bit Boost and OpenSSL) and select CMake -> Build All.
  7. Go to CMake -> Cache -> Open Cache Folder -> beam (you'll find binaries in beam/..., wallet/..., ui/..., explorer/... subfolders).

Linux

Ubuntu 14.04

  1. Install gcc7 boost ssl packages.
  sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  sudo apt update
  sudo apt install g++-7 libboost-all-dev libssl-dev -y
  1. Set it up so the symbolic links gcc, g++ point to the newer version:
  sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 \
                           --slave /usr/bin/g++ g++ /usr/bin/g++-7 
  sudo update-alternatives --config gcc
  gcc --version
  g++ --version
  1. Install latest CMake
  wget "https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh"
  sudo sh cmake-3.12.0-Linux-x86_64.sh --skip-license --prefix=/usr
  1. Add proper QT 5.11 repository depending on your system https://launchpad.net/~beineri (for example, choose Qt 5.10.1 for /opt Trusty if you have Ubuntu 14.04), install sudo apt-get install qt510declarative qt510svg packages and add export PATH=/opt/qt511/bin:$PATH.
  2. Go to Beam project folder and call cmake -DCMAKE_BUILD_TYPE=Release . && make -j4.
  3. You'll find binaries in beam/..., wallet/..., ui/..., explorer/... subfolders.

Fedora 29

  1. Install dependencies
# General build tools
sudo dnf install libtool make autoconf automake gettext
# C/C++ stuff
sudo dnf install gcc-c++ libstdc++-static cmake boost-devel
# crypto and zlib stuff
sudo dnf install openssl-devel zlib-devel
# GUI build tooling (QT in this case)
sudo dnf install qt5-qtbase-devel qt5-linguist qt5-qtsvg-devel qt5-qtwayland-devel
  1. Go to the Beam project folder and start the release build
export PATH=${PATH}:/usr/lib64/qt5/bin
cmake -DCMAKE_BUILD_TYPE=Release . && make -j4
  1. You'll find the the beam-node binary (node) in the beam folder, beam-wallet (cli wallet) in the wallet folder and BeamWallet (GUI wallet) in the ui folder.

At the moment step #2 can take a lot of time (a few hours) due to the bug in QT: QTBUG-27936. Use -DBEAM_NO_QT_UI_WALLET=On to skip building the UI.

Mac

  1. Install Brew Package Manager.
  2. Installed necessary packages using brew install openssl boost cmake qt5 command.
  3. Add export OPENSSL_ROOT_DIR="/usr/local/opt/openssl" and export PATH=/usr/local/opt/qt/bin:$PATH to the Environment Variables.
  4. Go to Beam project folder and call cmake -DCMAKE_BUILD_TYPE=Release . && make -j4.
  5. You'll find binaries in beam/..., wallet/..., ui/..., explorer/... subfolders.

If you don't want to build UI don't install QT5 and add -DBEAM_NO_QT_UI_WALLET=On command line parameter when you are calling cmake.

You can’t perform that action at this time.