You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2022/06/15 06:40:59 UTC

[incubator-doris] branch dev-1.0.1 updated: [dependency][enhancement] support build libhdfs in arm cpus (#10018)

This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch dev-1.0.1
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git


The following commit(s) were added to refs/heads/dev-1.0.1 by this push:
     new 01d4494928 [dependency][enhancement] support build libhdfs in arm cpus (#10018)
01d4494928 is described below

commit 01d44949282326f252e3f1f390f5f22ec8e7044d
Author: Zhengguo Yang <ya...@gmail.com>
AuthorDate: Wed Jun 15 14:40:53 2022 +0800

    [dependency][enhancement] support build libhdfs in arm cpus (#10018)
    
    Supports native hdfs functionality on arm cpu
    This pr mainly upgrades libdfs3 and supports running on arm,and make libhdfs3 with kerberos as default
---
 be/CMakeLists.txt                        |  78 ++++++-----------
 be/src/exec/CMakeLists.txt               |  10 +--
 be/src/exec/hdfs_reader_writer.cpp       |  20 +----
 build.sh                                 |   5 --
 thirdparty/build-thirdparty.sh           |  21 ++---
 thirdparty/download-thirdparty.sh        |  15 +---
 thirdparty/patches/libhdfs3-master.patch | 138 -------------------------------
 thirdparty/vars.sh                       |  21 ++---
 8 files changed, 49 insertions(+), 259 deletions(-)

diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt
index 491fe69055..d2368f4b7b 100644
--- a/be/CMakeLists.txt
+++ b/be/CMakeLists.txt
@@ -81,7 +81,6 @@ set(BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
 set(ENV{DORIS_HOME} "${BASE_DIR}/../")
 set(BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}")
 set(THIRDPARTY_DIR "$ENV{DORIS_THIRDPARTY}/installed/")
-set(HDFS3_KRB5_INSTALL_DIR "$ENV{DORIS_THIRDPARTY}/installed/libhdfs_with_kerberos/")
 set(GENSRC_DIR "${BASE_DIR}/../gensrc/build/")
 set(SRC_DIR "${BASE_DIR}/src/")
 set(TEST_DIR "${CMAKE_SOURCE_DIR}/test/")
@@ -94,7 +93,6 @@ else()
 endif()
 message(STATUS "make test: ${MAKE_TEST}")
 option(WITH_MYSQL "Support access MySQL" ON)
-option(WITH_KERBEROS "Enable or disable Kereberos support" ${WITH_KERBEROS})
 
 # Check gcc
 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
@@ -323,43 +321,32 @@ set_target_properties(minizip PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib
 add_library(idn STATIC IMPORTED)
 set_target_properties(idn PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libidn.a)
 
-if (WITH_KERBEROS)
-    # kerberos lib for libhdfs3 
-    add_library(gsasl STATIC IMPORTED)
-    set_target_properties(gsasl PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libgsasl.a)
+add_library(gsasl STATIC IMPORTED)
+set_target_properties(gsasl PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libgsasl.a)
 
-    add_library(krb5support STATIC IMPORTED)
-    set_target_properties(krb5support PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libkrb5support.a)
-    
-    add_library(krb5 STATIC IMPORTED)
-    set_target_properties(krb5 PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libkrb5.a)
+add_library(krb5support STATIC IMPORTED)
+set_target_properties(krb5support PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libkrb5support.a)
 
-    add_library(com_err STATIC IMPORTED)
-    set_target_properties(com_err PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libcom_err.a)
+add_library(krb5 STATIC IMPORTED)
+set_target_properties(krb5 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libkrb5.a)
 
-    add_library(k5crypto STATIC IMPORTED)
-    set_target_properties(k5crypto PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libk5crypto.a)
+add_library(com_err STATIC IMPORTED)
+set_target_properties(com_err PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libcom_err.a)
 
-    add_library(gssapi_krb5 STATIC IMPORTED)
-    set_target_properties(gssapi_krb5 PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libgssapi_krb5.a)
+add_library(k5crypto STATIC IMPORTED)
+set_target_properties(k5crypto PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libk5crypto.a)
 
-    add_library(hdfs3 STATIC IMPORTED)
-    set_target_properties(hdfs3 PROPERTIES IMPORTED_LOCATION ${HDFS3_KRB5_INSTALL_DIR}/lib/libhdfs3.a)
-else()
-    add_library(gsasl STATIC IMPORTED)
-    set_target_properties(gsasl PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libgsasl.a)
+add_library(gssapi_krb5 STATIC IMPORTED)
+set_target_properties(gssapi_krb5 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libgssapi_krb5.a)
 
-    add_library(hdfs3 STATIC IMPORTED)
-    set_target_properties(hdfs3 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libhdfs3.a)
-endif()
+add_library(hdfs3 STATIC IMPORTED)
+set_target_properties(hdfs3 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libhdfs3.a)
 
-if (ARCH_AMD64)
-    add_library(xml2 STATIC IMPORTED)
-    set_target_properties(xml2 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libxml2.a)
+add_library(xml2 STATIC IMPORTED)
+set_target_properties(xml2 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libxml2.a)
 
-    add_library(lzma STATIC IMPORTED)
-    set_target_properties(lzma PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/liblzma.a)
-endif()
+add_library(lzma STATIC IMPORTED)
+set_target_properties(lzma PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/liblzma.a)
 
 find_program(THRIFT_COMPILER thrift ${CMAKE_SOURCE_DIR}/bin)
 
@@ -602,6 +589,9 @@ set(COMMON_THIRDPARTY
     # put this after lz4 to avoid using lz4 lib in librdkafka
     librdkafka_cpp
     librdkafka
+    hdfs3
+    xml2
+    lzma
 )
 
 if (${MAKE_TEST} STREQUAL "ON")
@@ -619,20 +609,12 @@ set(X86_DEPENDENCIES
     lzma
 )
 
-if(ARCH_AARCH64)
-    # Set thirdparty libraries
-    set(DORIS_DEPENDENCIES
-        ${DORIS_DEPENDENCIES}
-        ${WL_START_GROUP}
-        ${COMMON_THIRDPARTY}
-    )
-else()
-    set(DORIS_DEPENDENCIES
-        ${DORIS_DEPENDENCIES}
-        ${WL_START_GROUP}
-        ${X86_DEPENDENCIES}
-    )
-endif()
+set(DORIS_DEPENDENCIES
+    ${DORIS_DEPENDENCIES}
+    ${WL_START_GROUP}
+    ${COMMON_THIRDPARTY}
+    ${KRB5_LIBS}
+)
 
 if(WITH_LZO)
     set(DORIS_DEPENDENCIES ${DORIS_DEPENDENCIES}
@@ -646,12 +628,6 @@ if (WITH_MYSQL)
         )
 endif()
 
-if (WITH_KERBEROS)
-    set(DORIS_DEPENDENCIES ${DORIS_DEPENDENCIES}
-    	${KRB5_LIBS}
-        )
-endif()
-
 set(DORIS_DEPENDENCIES ${DORIS_DEPENDENCIES} ${WL_END_GROUP})
 
 message(STATUS "DORIS_DEPENDENCIES is ${DORIS_DEPENDENCIES}")
diff --git a/be/src/exec/CMakeLists.txt b/be/src/exec/CMakeLists.txt
index ad629d9f62..7940c8ac61 100644
--- a/be/src/exec/CMakeLists.txt
+++ b/be/src/exec/CMakeLists.txt
@@ -103,16 +103,10 @@ set(EXEC_FILES
     s3_reader.cpp
     s3_writer.cpp
     hdfs_reader_writer.cpp
+    hdfs_file_reader.cpp
+    hdfs_writer.cpp
 )
 
-if (ARCH_AMD64)
-    set(EXEC_FILES
-        ${EXEC_FILES}
-        hdfs_file_reader.cpp
-        hdfs_writer.cpp
-        )
-endif()
-
 if (WITH_MYSQL)
     set(EXEC_FILES
         ${EXEC_FILES}
diff --git a/be/src/exec/hdfs_reader_writer.cpp b/be/src/exec/hdfs_reader_writer.cpp
index 86109c3024..b1b09c5db9 100644
--- a/be/src/exec/hdfs_reader_writer.cpp
+++ b/be/src/exec/hdfs_reader_writer.cpp
@@ -17,35 +17,21 @@
 
 #include "exec/hdfs_reader_writer.h"
 
-#if defined(__x86_64__)
 #include "exec/hdfs_file_reader.h"
 #include "exec/hdfs_writer.h"
-#endif
 
 namespace doris {
 
-Status HdfsReaderWriter::create_reader(const THdfsParams& hdfs_params,
-            const std::string& path,
-            int64_t start_offset,
-            FileReader** reader) {
-#if defined(__x86_64__)
+Status HdfsReaderWriter::create_reader(const THdfsParams& hdfs_params, const std::string& path,
+                                       int64_t start_offset, FileReader** reader) {
     *reader = new HdfsFileReader(hdfs_params, path, start_offset);
     return Status::OK();
-#else
-    return Status::InternalError("HdfsFileReader do not support on non x86 platform");
-#endif
 }
 
 Status HdfsReaderWriter::create_writer(std::map<std::string, std::string>& properties,
-            const std::string& path,
-            FileWriter** writer) {
-#if defined(__x86_64__)
+                                       const std::string& path, FileWriter** writer) {
     *writer = new HDFSWriter(properties, path);
     return Status::OK();
-#else
-    return Status::InternalError("HdfsWriter do not support on non x86 platform");
-#endif
-
 }
 
 } // namespace doris
diff --git a/build.sh b/build.sh
index 00123b90e2..a5013530da 100755
--- a/build.sh
+++ b/build.sh
@@ -175,9 +175,6 @@ if [[ ${HELP} -eq 1 ]]; then
     usage
     exit
 fi
-if [[ -z ${WITH_KERBEROS} ]]; then
-    WITH_KERBEROS=ON
-fi
 # build thirdparty libraries if necessary
 if [[ ! -f ${DORIS_THIRDPARTY}/installed/lib/libbacktrace.a ]]; then
     echo "Thirdparty libraries need to be build ..."
@@ -227,7 +224,6 @@ echo "Get params:
     PARALLEL            -- $PARALLEL
     CLEAN               -- $CLEAN
     WITH_MYSQL          -- $WITH_MYSQL
-    WITH_KERBEROS       -- $WITH_KERBEROS
     WITH_LZO            -- $WITH_LZO
     GLIBC_COMPATIBILITY -- $GLIBC_COMPATIBILITY
     USE_AVX2            -- $USE_AVX2
@@ -266,7 +262,6 @@ if [ ${BUILD_BE} -eq 1 ] ; then
             -DMAKE_TEST=OFF \
             ${CMAKE_USE_CCACHE} \
             -DWITH_MYSQL=${WITH_MYSQL} \
-            -DWITH_KERBEROS=${WITH_KERBEROS} \
             -DWITH_LZO=${WITH_LZO} \
             -DUSE_LIBCPP=${USE_LIBCPP} \
             -DBUILD_META_TOOL=${BUILD_META_TOOL} \
diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index ded57accde..d7f412cfd9 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -900,16 +900,7 @@ build_gsasl() {
     check_if_source_exist $GSASL_SOURCE
     cd $TP_SOURCE_DIR/$GSASL_SOURCE
     mkdir -p $BUILD_DIR && cd $BUILD_DIR
-    ../configure --prefix=$TP_INSTALL_DIR --enable-shared=no --with-pic --with-libidn-prefix=$TP_INSTALL_DIR
-    make -j $PARALLEL && make install
-}
-
-# build_gsasl2 just for libgsasl1.8.0
-build_gsasl2() {
-    check_if_source_exist $GSASL2_SOURCE
-    cd $TP_SOURCE_DIR/$GSASL2_SOURCE
-    mkdir -p $BUILD_DIR && cd $BUILD_DIR
-    ../configure --prefix=$HDFS3_KRB5_INSTALL_DIR --with-gssapi-impl=mit --enable-shared=no --with-pic --with-libidn-prefix=$TP_INSTALL_DIR
+    ../configure --prefix=$TP_INSTALL_DIR --with-gssapi-impl=mit --enable-shared=no --with-pic --with-libidn-prefix=$TP_INSTALL_DIR
     make -j $PARALLEL && make install
 }
 
@@ -918,8 +909,8 @@ build_krb5() {
     check_if_source_exist $KRB5_SOURCE
     cd $TP_SOURCE_DIR/$KRB5_SOURCE/src
     mkdir -p $BUILD_DIR && cd $BUILD_DIR
-    CFLAGS="-fcommon" \
-    ../configure --prefix=$HDFS3_KRB5_INSTALL_DIR --disable-shared --enable-static
+    CFLAGS="-fcommon -fPIC" \
+    ../configure --prefix=$TP_INSTALL_DIR --disable-shared --enable-static
     make -j $PARALLEL && make install
 }
 
@@ -929,7 +920,9 @@ build_hdfs3() {
     cd $TP_SOURCE_DIR/$HDFS3_SOURCE
     mkdir -p $BUILD_DIR && cd $BUILD_DIR && rm ./* -rf
     # build libhdfs3 without kerberos
-    ../bootstrap --dependency="$TP_INSTALL_DIR" --prefix=$TP_INSTALL_DIR
+    CPPLAGS="-I${TP_INCLUDE_DIR} -fPIC" \
+    LDFLAGS="-L${TP_LIB_DIR}" \
+    ../bootstrap --dependency="$TP_INSTALL_DIR" --prefix=$TP_INSTALL_DIR --disable-shared --enable-static
     make CXXFLAGS="$libhdfs_cxx17" -j $PARALLEL
     make install
 }
@@ -1020,10 +1013,8 @@ build_lzma
 build_xml2
 build_idn
 build_gsasl
-build_gsasl2
 build_krb5
 build_hdfs3
-build_hdfs3_with_kerberos
 build_benchmark
 build_simdjson
 build_libbacktrace
diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh
index 6014611ab5..388283aa6f 100755
--- a/thirdparty/download-thirdparty.sh
+++ b/thirdparty/download-thirdparty.sh
@@ -271,24 +271,15 @@ fi
 cd -
 echo "Finished patching $S2_SOURCE"
 
-# gsasl2 patch to fix link error such as mutilple func defination
+# gsasl patch to fix link error such as mutilple func defination
 # when link target with kerberos
-cd $TP_SOURCE_DIR/$GSASL2_SOURCE
+cd $TP_SOURCE_DIR/$GSASL_SOURCE
 if [ ! -f $PATCHED_MARK ]; then
     patch -p1 < $TP_PATCH_DIR/libgsasl-1.8.0.patch
     touch $PATCHED_MARK
 fi
 cd -
-echo "Finished patching $GSASL2_SOURCE"
-
-# hdfs3 patch to fix compile error
-cd $TP_SOURCE_DIR/$HDFS3_SOURCE
-if [ ! -f $PATCHED_MARK ]; then
-    patch -p1 < $TP_PATCH_DIR/libhdfs3-master.patch
-    touch $PATCHED_MARK
-fi
-cd -
-echo "Finished patching $HDFS3_SOURCE"
+echo "Finished patching $GSASL_SOURCE"
 
 # rocksdb patch to fix compile error
 if [ $ROCKSDB_SOURCE == "rocksdb-5.14.2" ]; then
diff --git a/thirdparty/patches/libhdfs3-master.patch b/thirdparty/patches/libhdfs3-master.patch
deleted file mode 100644
index 6c4eb2bfd7..0000000000
--- a/thirdparty/patches/libhdfs3-master.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff -uprN a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/src/CMakeLists.txt  2021-09-23 22:03:55.000000000 +0800
-+++ b/src/CMakeLists.txt        2022-01-18 00:58:22.411061469 +0800
-@@ -46,7 +46,7 @@ SET(HEADER
-     common/XmlConfig.h)
-
- ADD_LIBRARY(libhdfs3-static STATIC ${libhdfs3_SOURCES} ${libhdfs3_PROTO_SOURCES} ${libhdfs3_PROTO_HEADERS})
--ADD_LIBRARY(libhdfs3-shared SHARED ${libhdfs3_SOURCES} ${libhdfs3_PROTO_SOURCES} ${libhdfs3_PROTO_HEADERS})
-+ADD_LIBRARY(libhdfs3-shared STATIC ${libhdfs3_SOURCES} ${libhdfs3_PROTO_SOURCES} ${libhdfs3_PROTO_HEADERS})
-
- ADD_CUSTOM_COMMAND(
-     TARGET libhdfs3-shared libhdfs3-static
-diff --git a/src/client/FileSystem.cpp b/src/client/FileSystem.cpp
-index 6c347c7..6aec1a3 100644
---- a/src/client/FileSystem.cpp
-+++ b/src/client/FileSystem.cpp
-@@ -136,7 +136,7 @@ static std::string ExtractPrincipalFromTicketCache(
- static std::string ExtractPrincipalFromToken(const Token & token) {
-     std::string realUser, owner;
-     std::string identifier = token.getIdentifier();
--    WritableUtils cin(identifier.data(), identifier.size());
-+    WritableUtils cin(&identifier[0], identifier.size());
-     char version;
- 
-     try {
-diff --git a/src/client/Token.cpp b/src/client/Token.cpp
-index 1e23fed..8c88b2f 100644
---- a/src/client/Token.cpp
-+++ b/src/client/Token.cpp
-@@ -156,10 +156,10 @@ Token & Token::fromString(const std::string & str) {
-         WritableUtils in(buffer.data(), buffer.size());
-         len = in.ReadInt32();
-         identifier.resize(len);
--        in.ReadRaw(identifier.data(), len);
-+        in.ReadRaw(&identifier[0], len);
-         len = in.ReadInt32();
-         password.resize(len);
--        in.ReadRaw(password.data(), len);
-+        in.ReadRaw(&password[0], len);
-         kind = in.ReadText();
-         service = in.ReadText();
-         return *this;
-diff --git a/src/common/ExceptionInternal.h b/src/common/ExceptionInternal.h
-index 4ee661e..9d734af 100644
---- a/src/common/ExceptionInternal.h
-+++ b/src/common/ExceptionInternal.h
-@@ -175,7 +175,7 @@ void ThrowException(bool nested, const char * f, int l,
-     int offset = buffer.size();
-     buffer.resize(offset + size + 1);
-     va_start(ap, fmt);
--    vsnprintf(buffer.data() + offset, size + 1, fmt, ap);
-+    vsnprintf(&buffer[offset], size + 1, fmt, ap);
-     va_end(ap);
- 
-     if (!nested) {
-@@ -218,7 +218,7 @@ void ThrowException(bool nested, const char * f, int l,
-     int offset = buffer.size();
-     buffer.resize(offset + size + 1);
-     va_start(ap, fmt);
--    vsnprintf(buffer.data() + offset, size + 1, fmt, ap);
-+    vsnprintf(&buffer[offset], size + 1, fmt, ap);
-     va_end(ap);
- 
-     if (!nested) {
-diff --git a/src/common/StringUtil.h b/src/common/StringUtil.h
-index f9cba5d..3a8e76f 100644
---- a/src/common/StringUtil.h
-+++ b/src/common/StringUtil.h
-@@ -41,7 +41,7 @@ static inline std::vector<std::string> StringSplit(const std::string & str,
-     char * token, *lasts = NULL;
-     std::string s = str;
-     std::vector<std::string> retval;
--    token = strtok_r(s.data(), sep, &lasts);
-+    token = strtok_r(&s[0], sep, &lasts);
- 
-     while (token) {
-         retval.push_back(token);
-diff --git a/src/common/WritableUtils.cpp b/src/common/WritableUtils.cpp
-index fdadd45..98bbc6a 100644
---- a/src/common/WritableUtils.cpp
-+++ b/src/common/WritableUtils.cpp
-@@ -88,7 +88,7 @@ std::string WritableUtils::ReadText() {
-     std::string retval;
-     length = ReadInt32();
-     retval.resize(length);
--    ReadRaw(retval.data(), length);
-+    ReadRaw(&retval[0], length);
-     return retval;
- }
- 
-diff --git a/src/rpc/RpcClient.cpp b/src/rpc/RpcClient.cpp
-index bb19991..ebb6e28 100644
---- a/src/rpc/RpcClient.cpp
-+++ b/src/rpc/RpcClient.cpp
-@@ -54,7 +54,7 @@ RpcClientImpl::RpcClientImpl() :
-     cleaning(false), running(true), count(0) {
-     auto id = boost::uuids::random_generator()();
-     clientId.resize(boost::uuids::uuid::static_size());
--    memcpy(clientId.data(), id.begin(), boost::uuids::uuid::static_size());
-+    memcpy(&clientId[0], id.begin(), boost::uuids::uuid::static_size());
- #ifdef MOCK
-     stub = NULL;
- #endif
-diff --git a/src/rpc/SaslClient.cpp b/src/rpc/SaslClient.cpp
-index 9aa9d7b..53893a1 100644
---- a/src/rpc/SaslClient.cpp
-+++ b/src/rpc/SaslClient.cpp
-@@ -137,7 +137,7 @@ std::string SaslClient::evaluateChallenge(const std::string & challenge) {
- 
-     if (rc == GSASL_NEEDS_MORE || rc == GSASL_OK) {
-         retval.resize(outputSize);
--        memcpy(retval.data(), output, outputSize);
-+        memcpy(&retval[0], output, outputSize);
- 
-         if (output) {
-             free(output);
-diff -uprN a/src/CMakeLists.txt b/src/CMakeLists.txt
---- a/bootstrap 2022-02-26 16:12:06.065389096 +0800
-+++ b/bootstrap 2022-02-26 16:11:45.989378097 +0800
-@@ -111,11 +111,17 @@ if [[ ! -x ${cmake} ]]; then
-     die "cannot found cmake"
- fi
-
-+arch=$(uname -i)
-+if  [[ $arch == arm* ]] || [[ $arch = aarch64 ]]; then
-+    CMAKE_EXTRA_FLAGS="-DENABLE_SSE=0"
-+fi
-+
- # Configure
- ${cmake} -DENABLE_DEBUG=${enable_build} -DCMAKE_INSTALL_PREFIX=${prefix_dirs} \
-     -DCMAKE_C_COMPILER=${c_compiler} -DCMAKE_CXX_COMPILER=${cxx_compiler} \
-     -DCMAKE_PREFIX_PATH=${dependency_dir} -DENABLE_BOOST=${enable_boost} \
-     -DENABLE_COVERAGE=${enable_coverage} -DENABLE_LIBCPP=${enable_clang_lib} ${source_dir} \
-+    $CMAKE_EXTRA_FLAGS \
-     || die "failed to configure the project"
-
- echo 'bootstrap success. Run "make" to build.'
-
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 0badee8365..eb44ad163b 100755
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -324,15 +324,10 @@ IDN_SOURCE="libidn-1.38"
 IDN_MD5SUM="718ff3700dd71f830c592ebe97249193"
 
 # gsasl
-GSASL_DOWNLOAD="https://ftp.gnu.org/gnu/gsasl/libgsasl-1.10.0.tar.gz"
-GSASL_NAME="libgsasl-1.10.0.tar.gz"
-GSASL_SOURCE="libgsasl-1.10.0"
-GSASL_MD5SUM="9c8fc632da4ce108fb7581b33de2a5ce"
-
-GSASL2_DOWNLOAD="https://ftp.gnu.org/gnu/gsasl/libgsasl-1.8.0.tar.gz"
-GSASL2_NAME="libgsasl-1.8.0.tar.gz"
-GSASL2_SOURCE="libgsasl-1.8.0"
-GSASL2_MD5SUM="5dbdf859f6e60e05813370e2b193b92b"
+GSASL_DOWNLOAD="https://ftp.gnu.org/gnu/gsasl/libgsasl-1.8.0.tar.gz"
+GSASL_NAME="libgsasl-1.8.0.tar.gz"
+GSASL_SOURCE="libgsasl-1.8.0"
+GSASL_MD5SUM="5dbdf859f6e60e05813370e2b193b92b"
 
 # krb5
 KRB5_DOWNLOAD="https://kerberos.org/dist/krb5/1.19/krb5-1.19.tar.gz"
@@ -341,10 +336,10 @@ KRB5_SOURCE="krb5-1.19"
 KRB5_MD5SUM="aaf18447a5a014aa3b7e81814923f4c9"
 
 # hdfs3
-HDFS3_DOWNLOAD="https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/libhdfs3-master.zip"
-HDFS3_NAME="libhdfs3-master.zip"
-HDFS3_SOURCE="libhdfs3-master"
-HDFS3_MD5SUM="8c071fd2e7b0b1ccc1ec9c0d073d4146"
+HDFS3_DOWNLOAD="https://github.com/yangzhg/libhdfs3/archive/refs/tags/v2.3.1.tar.gz"
+HDFS3_NAME="libhdfs3-2.3.1.tar.gz"
+HDFS3_SOURCE="libhdfs3-2.3.1"
+HDFS3_MD5SUM="64ab3004826d83b23522ccf26940db94"
 
 #libdivide
 LIBDIVIDE_DOWNLOAD="https://github.com/ridiculousfish/libdivide/archive/5.0.tar.gz"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org