Compilation

This document focuses on how to code Doris through source code.

Developing mirror compilation using Docker (recommended)

Use off-the-shelf mirrors

  1. Download Docker Mirror

    $ docker pull apachedoris/doris-dev:build-env

    Check mirror download completed:

    1. $ docker images
    2. REPOSITORY TAG IMAGE ID CREATED SIZE
    3. apachedoris/doris-dev build-env f8bc5d4024e0 21 hours ago 3.28GB

Note: For different versions of Oris, you need to download the corresponding mirror version.

image versioncommit idrelease version
apachedoris/doris-dev:build-envbefore ff0dd0dCompilation - 图10.8.x, 0.9.x
apachedoris/doris-dev:build-env-1.1ff0dd0dCompilation - 图2 or later0.10.x or later
  1. Running Mirror

    $ docker run -it apachedoris/doris-dev:build-env

    If you want to compile the local Doris source code, you can mount the path:

    1. $ docker run -it -v /your/local/incubator-doris-DORIS-x.x.x-release/:/root/incubator-doris-DORIS-x.x.x-release/ apachedoris/doris-dev:build-env
  2. Download source code

    After starting the mirror, you should be in the container. The Doris source code can be downloaded from the following command (local source directory mounted is not required):

    1. $ wget https://dist.apache.org/repos/dist/dev/incubator/doris/xxx.tar.gz
    2. or
    3. $ git clone https://github.com/apache/incubator-doris.git
  3. Compile Doris

    1. $ sh build.sh

    After compilation, the output file is in the output/ directory.

Self-compiling Development Environment Mirror

You can also create a Doris development environment mirror yourself, referring specifically to the `docker/README.md’file.

Direct Compilation (CentOS/Ubuntu)

You can try to compile Doris directly in your own Linux environment.

  1. System Dependence

    GCC 5.3.1+, Oracle JDK 1.8+, Python 2.7+, Apache Maven 3.5+, CMake 3.11+

    If you are using Ubuntu 16.04 or newer, you can use the following command to install the dependencies

    sudo apt-get install build-essential openjdk-8-jdk maven cmake byacc flex automake libtool-bin bison binutils-dev libiberty-dev

    After installation, set environment variables PATH, JAVA_HOME, etc.

  2. Compile Doris

    1. $ sh build.sh

    After compilation, the output file is in the output/ directory.