diff --git a/build.sh b/build.sh index ab4c8098708a32..2c883c8ec5b443 100755 --- a/build.sh +++ b/build.sh @@ -159,7 +159,7 @@ if [[ ${HELP} -eq 1 ]]; then fi # build thirdparty libraries if necessary -if [[ ! -f ${DORIS_THIRDPARTY}/installed/lib/libbreakpad_client.a ]]; then +if [[ ! -f ${DORIS_THIRDPARTY}/installed/lib/libsimdjson.a ]]; then echo "Thirdparty libraries need to be build ..." ${DORIS_THIRDPARTY}/build-thirdparty.sh -j $PARALLEL fi diff --git a/docker/Dockerfile b/docker/Dockerfile index 207469ef3112a7..3a1d14c69f86b2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -18,8 +18,8 @@ FROM centos:7 AS builder # install dependencies -RUN yum install -y byacc patch automake libtool make which file ncurses-devel gettext-devel unzip bzip2 zip util-linux wget git python2 \ - bison java-11-openjdk-devel java-1.8.0-openjdk-devel +RUN yum install -y byacc patch automake libtool perf vim make which file ncurses-devel gettext-devel unzip bzip2 zip util-linux \ + ccache wget git python2 bison java-11-openjdk-devel java-1.8.0-openjdk-devel # install maven 3.6.3 RUN mkdir -p /usr/share/maven /usr/share/maven/ref && \ diff --git a/thirdparty/CHANGELOG.md b/thirdparty/CHANGELOG.md index 6764b8d648cdc0..d20397c159a1c1 100644 --- a/thirdparty/CHANGELOG.md +++ b/thirdparty/CHANGELOG.md @@ -2,6 +2,10 @@ This file contains version of the third-party dependency libraries in the build-env image. The docker build-env image is apache/incubator-doris, and the tag is `build-env-${version}` +## v20220211 + +- Added: simdjson 1.0.2 + ## v20211229 - Modified: OpenSSL with --with-rand-seed=devrandom diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh index eea591eb47ae83..6db704a9af4f82 100755 --- a/thirdparty/build-thirdparty.sh +++ b/thirdparty/build-thirdparty.sh @@ -972,6 +972,22 @@ build_breakpad() { make -j $PARALLEL && make install } +# simdjson +build_simdjson() { + check_if_source_exist $SIMDJSON_SOURCE + cd $TP_SOURCE_DIR/$SIMDJSON_SOURCE + + mkdir -p $BUILD_DIR && cd $BUILD_DIR + CXX_FLAGS="-O3" \ + C_FLAGS="-O3" \ + $CMAKE_CMD .. + $CMAKE_CMD --build . + + cp $TP_SOURCE_DIR/$SIMDJSON_SOURCE/$BUILD_DIR/libsimdjson.a $TP_INSTALL_DIR/lib64 + + cp -r $TP_SOURCE_DIR/$SIMDJSON_SOURCE/include/* $TP_INCLUDE_DIR/ +} + build_libunixodbc build_openssl build_libevent @@ -1024,6 +1040,7 @@ build_gsasl build_hdfs3 build_benchmark build_breakpad +build_simdjson echo "Finished to build all thirdparties" diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh index 9de2baa22571de..c6650bd3ae6161 100755 --- a/thirdparty/download-thirdparty.sh +++ b/thirdparty/download-thirdparty.sh @@ -104,7 +104,7 @@ download_func() { rm -f "$DESC_DIR/$FILENAME" else echo "Downloading $FILENAME from $DOWNLOAD_URL to $DESC_DIR" - wget --no-check-certificate $DOWNLOAD_URL -O $DESC_DIR/$FILENAME + wget --no-check-certificate -q $DOWNLOAD_URL -O $DESC_DIR/$FILENAME if [ "$?"x == "0"x ]; then if md5sum_func $FILENAME $DESC_DIR $MD5SUM; then STATUS=0 diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh index 03429f31dc7e44..29a5311ed61711 100755 --- a/thirdparty/vars.sh +++ b/thirdparty/vars.sh @@ -403,6 +403,12 @@ XSIMD_NAME=xsimd-e9234cd6e6f4428fc260073b2c34ffe86fda1f34.tar.gz XSIMD_SOURCE=xsimd-e9234cd6e6f4428fc260073b2c34ffe86fda1f34 XSIMD_MD5SUM="9f230757cf4acd3d544c4a79a020c9dc" +# simdjson +SIMDJSON_DOWNLOAD="https://github.com/simdjson/simdjson/archive/refs/tags/v1.0.2.tar.gz" +SIMDJSON_NAME=simdjson-1.0.2.tar.gz +SIMDJSON_SOURCE=simdjson-1.0.2 +SIMDJSON_MD5SUM="5bb34cca7087a99c450dbdfe406bdc7d" + # all thirdparties which need to be downloaded is set in array TP_ARCHIVES export TP_ARCHIVES="LIBEVENT OPENSSL @@ -461,4 +467,5 @@ LIBDIVIDE PDQSORT BENCHMARK BREAKPAD -XSIMD" +XSIMD +SIMDJSON"