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 <yangz...@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-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org