How to Build ClickHouse Release Package

Install Git and Pbuilder

$ sudo apt-get update
$ sudo apt-get install git pbuilder debhelper lsb-release fakeroot sudo debian-archive-keyring debian-keyring

Checkout ClickHouse Sources

$ git clone --recursive --branch master
$ cd ClickHouse

Run Release Script

$ ./release

How to Build ClickHouse for Development

The following tutorial is based on the Ubuntu Linux system. With appropriate changes, it should also work on any other Linux distribution. Supported platforms: x86_64 and AArch64. Support for Power9 is experimental.

Install Git, CMake and Ninja

$ sudo apt-get install git cmake ninja-build

Or cmake3 instead of cmake on older systems.

Install GCC 9

There are several ways to do this.

Install from a PPA Package

$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install gcc-9 g++-9

Install from Sources

Look at utils/ci/

Use GCC 9 for Builds

$ export CC=gcc-9
$ export CXX=g++-9

Checkout ClickHouse Sources

$ git clone --recursive


$ git clone --recursive
$ cd ClickHouse

Build ClickHouse

$ mkdir build
$ cd build
$ cmake ..
$ ninja
$ cd ..

To create an executable, run ninja clickhouse. This will create the dbms/programs/clickhouse executable, which can be used with client or server arguments.