Compiling with LDB toolchain
This document describes how to compile Doris using the LDB toolchain. This method is currently used as a supplement to the Docker compilation method to facilitate developers and users without a Docker environment to compile Doris source code.
You can still compile the latest code using the Docker development image:
apache/doris:build-env-ldb-toolchain-latestThanks to Amos Bird for this contribution.
Prepare the environment
This works for most Linux distributions (CentOS, Ubuntu, etc.).
- Download
ldb_toolchain_gen.sh
The latest ldb_toolchain_gen.sh can be downloaded from here. This script is used to generate the ldb toolchain.
For more information, you can visit <https://github.com/amosbird/ldb_toolchain_gen> 2. Execute the following command to generate the ldb toolchain
1. sh ldb_toolchain_gen.sh /path/to/ldb_toolchain/
where /path/to/ldb_toolchain/ is the directory where the toolchain is installed.
After successful execution, the following directory structure will be created under /path/to/ldb_toolchain/.
1. ├── bin
2. ├── include
3. ├── lib
4. ├── share
5. ├── test
6. └── usr
3. Download and install other compiled components
If your environment is somehow minimal, additional packages should be installed before compiling Doris. The following instructions describe how to setup a minimal CentOS 6 box to compile Doris. Other linux distros should be similar.
``` 1. # install required system packages 2. sudo yum install -y byacc patch automake libtool make which file ncurses-devel gettext-devel unzip bzip2 zip util-linux wget git python2
-
install autoconf-2.69
- wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz && \
- tar zxf autoconf-2.69.tar.gz && \
- cd autoconf-2.69 && \
- ./configure && \
- make && \
-
make install
-
install bison-3.0.4
- wget http://ftp.gnu.org/gnu/bison/bison-3.0.4.tar.gz && \
- tar xzf bison-3.0.4.tar.gz && \
- cd bison-3.0.4 && \
- ./configure && \
- make && \
- make install ```
- Download Doris source code
1. git clone https://github.com/apache/doris.git
After downloading, go to the Doris source directory, create the custom_env.sh, file, and set the PATH environment variable, e.g.
1. export JAVA_HOME=/path/to/java/
2. export PATH=$JAVA_HOME/bin:$PATH
3. export PATH=/path/to/maven/bin:$PATH
4. export PATH=/path/to/node/bin:$PATH
5. export PATH=/path/to/ldb_toolchain/bin:$PATH
Compiling Doris
Enter the Doris source code directory and execute:
1. $ cat /proc/cpuinfo | grep avx2
Check whether the compilation machine supports the avx2 instruction set
If it is not supported, use the following command to compile
1. $ USE_AVX2=0 sh build.sh
If supported, execute sh build.sh directly
This script will compile the third-party libraries first and then the Doris components (FE, BE) later. The compiled output is in the output/ directory.
