This is an automated email from the ASF dual-hosted git repository. jiafengzheng pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris-website.git
commit f1cb9c65e6fe601a9fe56eb7cf767806a145d6fd Author: jiafeng.zhang <[email protected]> AuthorDate: Fri Nov 11 16:25:00 2022 +0800 fix --- docs/install/source-install/compilation.md | 77 +++++++++------------- .../current/install/source-install/compilation.md | 65 +++++++++--------- 2 files changed, 62 insertions(+), 80 deletions(-) diff --git a/docs/install/source-install/compilation.md b/docs/install/source-install/compilation.md index e3184ee9389..3eb47e3a62a 100644 --- a/docs/install/source-install/compilation.md +++ b/docs/install/source-install/compilation.md @@ -59,31 +59,34 @@ This document focuses on how to code Doris through source code. | apache/incubator-doris:build-env-latest | before [0efef1b](https://github.com/apache/doris/commit/0efef1b332300887ee0473f9df9bdd9d7297d824) | | | apache/doris:build-env-for-1.0.0| | 1.0.0 | | apache/doris:build-env-for-1.1.0| | 1.1.0 | -| apache/doris:build-env-ldb-toolchain-latest | trunk | | +| apache/doris:build-env-ldb-toolchain-latest | | 1.1.x, trunk | +| apache/doris:build-env-ldb-toolchain-no-avx2-latest | | 1.1.x, trunk | **note**: -> 1. Dev docker image [ChangeLog](https://github.com/apache/doris/blob/master/thirdparty/CHANGELOG.md) +> 1. Third-party libraries in images with no-avx2 in their names that can run on CPUs that do not support avx2 instructions. Doris can be compiled with the USE_AVX2=0 option. -> 2. Doris version 0.14.0 still uses apache/incubator-doris:build-env-1.2 to compile, and the 0.14.x code will use apache/incubator-doris:build-env-1.3.1. +> 2. Dev docker image [ChangeLog](https://github.com/apache/doris/blob/master/thirdparty/CHANGELOG.md) -> 3. From docker image of build-env-1.3.1, both OpenJDK 8 and OpenJDK 11 are included, and OpenJDK 11 is used for compilation by default. Please make sure that the JDK version used for compiling is the same as the JDK version used at runtime, otherwise it may cause unexpected operation errors. You can use the following command to switch the default JDK version in container: -> -> Switch to JDK 8: -> -> ``` -> $ alternatives --set java java-1.8.0-openjdk.x86_64 -> $ alternatives --set javac java-1.8.0-openjdk.x86_64 -> $ export JAVA_HOME=/usr/lib/jvm/java-1.8.0 -> ``` -> -> Switch to JDK 11: -> -> ``` -> $ alternatives --set java java-11-openjdk.x86_64 -> $ alternatives --set javac java-11-openjdk.x86_64 -> $ export JAVA_HOME=/usr/lib/jvm/java-11 -> ``` +> 3. Doris version 0.14.0 still uses apache/incubator-doris:build-env-1.2 to compile, and the 0.14.x code will use apache/incubator-doris:build-env-1.3.1. + +> 4. Since the docker image of build-env-1.3.1 includes both OpenJDK 8 and OpenJDK 11, please confirm the default JDK version with `java -version`. You can also switch versions in the following ways (it is recommended to use JDK8 by default) + > + > Switch to JDK 8: + > + > ``` + > alternatives --set java java-1.8.0-openjdk.x86_64 + > alternatives --set javac java-1.8.0-openjdk.x86_64 + > export JAVA_HOME=/usr/lib/jvm/java-1.8.0 + > ``` + > + > Switch to JDK 11: + > + > ``` + > alternatives --set java java-11-openjdk.x86_64 + > alternatives --set javac java-11-openjdk.x86_64 + > export JAVA_HOME=/usr/lib/jvm/java-11 + > ``` 2. Running Mirror @@ -130,21 +133,13 @@ This document focuses on how to code Doris through source code. After compilation, the output files are in the `output/` directory. > **Note:** - > - > If you are using `build-env-for-0.15.0` or `build-env-for-1.0.0` for the first time, use the following command when compiling: - > - >``` - >sh build.sh --clean --be --fe --ui - >``` - > - > `build-env-ldb-toolchain-latest` and later, use the following command: - > - >``` - >sh build.sh --clean --be --fe - >``` - > - > This is because from build-env-for-0.15.0, we upgraded thrift (0.9 -> 0.13), you need to use the --clean command to force the use of the new version of thrift to generate code files, otherwise incompatible code will appear. - + > + > If you are using `build-env-for-0.15.0` or later version for the first time, use the following command when compiling: + > + > `sh build.sh --clean --be --fe --ui` + > + > This is because from build-env-for-0.15.0, we upgraded thrift (0.9 -> 0.13), you need to use the --clean command to force the use of the new version of thrift to generate code files, otherwise incompatible code will appear. + After compilation, the output file is in the `output/` directory. ### Self-compiling Development Environment Mirror @@ -152,7 +147,7 @@ This document focuses on how to code Doris through source code. You can also create a Doris development environment mirror yourself, referring specifically to the `docker/README.md` file. -## Direct Compilation (CentOS/Ubuntu) +## Direct Compilation (Ubuntu) You can try to compile Doris directly in your own Linux environment. @@ -187,8 +182,7 @@ You can try to compile Doris directly in your own Linux environment. ln -s /usr/bin/g++-11 /usr/bin/g++ ln -s /usr/bin/gcc-11 /usr/bin/gcc sudo apt-get install autoconf automake libtool autopoint - ``` - + 2. Compile Doris Compiling with the Docker development image, check whether the avx2 instruction is supported before compiling @@ -234,13 +228,6 @@ You can try to compile Doris directly in your own Linux environment. REPOSITORY_URL contains all third-party library source code packages and their historical versions. -3. `fatal error: Killed signal terminated program ...` - - If you encounter the above error when compiling with a Docker image, it may be that the memory allocated to the image is insufficient(The default memory size allocated by Docker is 2GB, and the peak memory usage during compilation is greater than 2GB). - - Try to increase the allocated memory of the image appropriately, 4GB ~ 8GB is recommended. - - ## Special statement Starting from version 0.13, the dependency on the two third-party libraries [1] and [2] will be removed in the default compiled output. These two third-party libraries are under [GNU General Public License V3](https://www.gnu.org/licenses/gpl-3.0.en.html). This license is incompatible with [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0), so it should not appear in the Apache release by default. diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation.md index 85a95749312..2ea9ae3e41a 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/install/source-install/compilation.md @@ -58,31 +58,34 @@ under the License. | apache/incubator-doris:build-env-latest | before [0efef1b](https://github.com/apache/doris/commit/0efef1b332300887ee0473f9df9bdd9d7297d824) | | | apache/doris:build-env-for-1.0.0| | 1.0.0 | | apache/doris:build-env-for-1.1.0| | 1.1.0 | -| apache/doris:build-env-ldb-toolchain-latest | trunk | | +| apache/doris:build-env-ldb-toolchain-latest | | 1.1.x, trunk | +| apache/doris:build-env-ldb-toolchain-no-avx2-latest | | 1.1.x, trunk | **注意**: -> 1. 编译镜像 [ChangeLog](https://github.com/apache/doris/blob/master/thirdparty/CHANGELOG.md)。 - -> 2. doris 0.14.0 版本仍然使用apache/incubator-doris:build-env-1.2 编译,0.14.x 版本的代码将使用apache/incubator-doris:build-env-1.3.1。 - -> 3. 从 build-env-1.3.1 的docker镜像起,同时包含了 OpenJDK 8 和 OpenJDK 11,并且默认使用 OpenJDK 11 编译。请确保编译使用的 JDK 版本和运行时使用的 JDK 版本一致,否则会导致非预期的运行错误。你可以在进入编译镜像的容器后,使用以下命令切换默认 JDK 版本: - > - > 切换到 JDK 8: - > - > ``` -> $ alternatives --set java java-1.8.0-openjdk.x86_64 -> $ alternatives --set javac java-1.8.0-openjdk.x86_64 -> $ export JAVA_HOME=/usr/lib/jvm/java-1.8.0 -> ``` - > - > 切换到 JDK 11: - > - > ``` -> $ alternatives --set java java-11-openjdk.x86_64 -> $ alternatives --set javac java-11-openjdk.x86_64 -> $ export JAVA_HOME=/usr/lib/jvm/java-11 -> ``` +> 1. 名称中带有 no-avx2 字样的镜像中的第三方库,可以运行在不支持 avx2 指令的 CPU 上。可以配合 USE_AVX2=0 选项,编译 Doris。 + +> 2. 编译镜像 [ChangeLog](https://github.com/apache/doris/blob/master/thirdparty/CHANGELOG.md)。 + +> 3. doris 0.14.0 版本仍然使用apache/incubator-doris:build-env-1.2 编译,0.14.x 版本的代码将使用apache/incubator-doris:build-env-1.3.1。 + +> 4. 从 build-env-1.3.1 的docker镜像起,同时包含了 OpenJDK 8 和 OpenJDK 11,请通过 `java -version` 确认默认 JDK 版本。也可以通过以下方式切换版本(建议默认使用 JDK8) + > + > 切换到 JDK 8: + > + > ``` + > alternatives --set java java-1.8.0-openjdk.x86_64 + > alternatives --set javac java-1.8.0-openjdk.x86_64 + > export JAVA_HOME=/usr/lib/jvm/java-1.8.0 + > ``` + > + > 切换到 JDK 11: + > + > ``` + > alternatives --set java java-11-openjdk.x86_64 + > alternatives --set javac java-11-openjdk.x86_64 + > export JAVA_HOME=/usr/lib/jvm/java-11 + > ``` 2. 运行镜像 @@ -130,19 +133,11 @@ under the License. >**注意:** > - >如果你是第一次使用 `build-env-for-0.15.0` 或 `build-env-for-1.0.0` 的版本,第一次编译的时候要使用如下命令: + >如果你是第一次使用 `build-env-for-0.15.0` 或之后的版本,第一次编译的时候要使用如下命令: > - >``` - >sh build.sh --clean --be --fe --ui - >``` + > `sh build.sh --clean --be --fe` > - >`build-env-ldb-toolchain-latest` 及之后的版本,使用如下命令: - > - >``` - >sh build.sh --clean --be --fe - >``` - > - >这是因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。 + > 这是因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过 --clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。 编译完成后,产出文件在 `output/` 目录中。 @@ -188,8 +183,8 @@ under the License. ``` $ cat /proc/cpuinfo | grep avx2 - ``` - + ``` + 支持则使用下面命令进行编译 ``` --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
