diff --git a/build.sh b/build.sh index fa5f545f844b9e..400d57f68891f7 100755 --- a/build.sh +++ b/build.sh @@ -31,6 +31,10 @@ ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" export DORIS_HOME="${ROOT}" +TARGET_SYSTEM="$(uname -s)" +TARGET_ARCH="$(uname -m)" +echo "Target system: ${TARGET_SYSTEM}; Target arch: ${TARGET_ARCH}" + . "${DORIS_HOME}/env.sh" # Check args @@ -316,7 +320,7 @@ if [[ -z "${WITH_MYSQL}" ]]; then WITH_MYSQL='OFF' fi if [[ -z "${GLIBC_COMPATIBILITY}" ]]; then - if [[ "$(uname -s)" != 'Darwin' ]]; then + if [[ "${TARGET_SYSTEM}" != 'Darwin' ]]; then GLIBC_COMPATIBILITY='ON' else GLIBC_COMPATIBILITY='OFF' @@ -326,7 +330,7 @@ if [[ -z "${USE_AVX2}" ]]; then USE_AVX2='ON' fi if [[ -z "${USE_LIBCPP}" ]]; then - if [[ "$(uname -s)" != 'Darwin' ]]; then + if [[ "${TARGET_SYSTEM}" != 'Darwin' ]]; then USE_LIBCPP='OFF' else USE_LIBCPP='ON' @@ -336,7 +340,7 @@ if [[ -z "${STRIP_DEBUG_INFO}" ]]; then STRIP_DEBUG_INFO='OFF' fi if [[ -z "${USE_MEM_TRACKER}" ]]; then - if [[ "$(uname -s)" != 'Darwin' ]]; then + if [[ "${TARGET_SYSTEM}" != 'Darwin' ]]; then USE_MEM_TRACKER='ON' else USE_MEM_TRACKER='OFF' @@ -357,7 +361,7 @@ if [[ -z "${USE_DWARF}" ]]; then fi if [[ -z "${USE_UNWIND}" ]]; then - if [[ "$(uname -s)" != 'Darwin' ]]; then + if [[ "${TARGET_SYSTEM}" != 'Darwin' ]]; then USE_UNWIND='ON' else USE_UNWIND='OFF' @@ -406,7 +410,7 @@ if [[ -z "${RECORD_COMPILER_SWITCHES}" ]]; then RECORD_COMPILER_SWITCHES='OFF' fi -if [[ "${BUILD_BE_JAVA_EXTENSIONS}" -eq 1 && "$(uname -s)" == 'Darwin' ]]; then +if [[ "${BUILD_BE_JAVA_EXTENSIONS}" -eq 1 && "${TARGET_SYSTEM}" == 'Darwin' ]]; then if [[ -z "${JAVA_HOME}" ]]; then CAUSE='the environment variable JAVA_HOME is not set' else @@ -645,7 +649,17 @@ if [[ "${BUILD_FE}" -eq 1 ]]; then rm -rf "${DORIS_OUTPUT}/fe/lib"/* cp -r -p "${DORIS_HOME}/fe/fe-core/target/lib"/* "${DORIS_OUTPUT}/fe/lib"/ cp -r -p "${DORIS_HOME}/fe/fe-core/target/doris-fe.jar" "${DORIS_OUTPUT}/fe/lib"/ - cp -r -p "${DORIS_HOME}/docs/build/help-resource.zip" "${DORIS_OUTPUT}/fe/lib"/ + + # copy jindofs jars, only support for Linux x64 or arm + if [[ "${TARGET_SYSTEM}" == 'Linux' ]] && [[ "${TARGET_ARCH}" == 'x86_64' ]]; then + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-core-[0-9]*.jar "${DORIS_OUTPUT}/fe/lib"/ + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-core-linux-ubuntu22-x86_64-[0-9]*.jar "${DORIS_OUTPUT}/fe/lib"/ + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-sdk-[0-9]*.jar "${DORIS_OUTPUT}/fe/lib"/ + elif [[ "${TARGET_SYSTEM}" == 'Linux' ]] && [[ "${TARGET_ARCH}" == 'aarch64' ]]; then + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-core-linux-el7-aarch64-[0-9]*.jar "${DORIS_OUTPUT}/fe/lib"/ + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-sdk-[0-9]*.jar "${DORIS_OUTPUT}/fe/lib"/ + fi + cp -r -p "${DORIS_HOME}/minidump" "${DORIS_OUTPUT}/fe"/ cp -r -p "${DORIS_HOME}/webroot/static" "${DORIS_OUTPUT}/fe/webroot"/ @@ -770,6 +784,16 @@ EOF fi done + # copy jindofs jars, only support for Linux x64 or arm + if [[ "${TARGET_SYSTEM}" == 'Linux' ]] && [[ "$TARGET_ARCH" == 'x86_64' ]]; then + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-core-[0-9]*.jar "${DORIS_OUTPUT}/be/lib/java_extensions/preload-extensions"/ + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-core-linux-ubuntu22-x86_64-[0-9]*.jar "${DORIS_OUTPUT}/be/lib/java_extensions/preload-extensions"/ + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-sdk-[0-9]*.jar "${DORIS_OUTPUT}/be/lib/java_extensions/preload-extensions"/ + elif [[ "${TARGET_SYSTEM}" == 'Linux' ]] && [[ "$TARGET_ARCH" == 'aarch64' ]]; then + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-core-linux-el7-aarch64-[0-9]*.jar "${DORIS_OUTPUT}/be/lib/java_extensions/preload-extensions"/ + cp -r -p "${DORIS_THIRDPARTY}"/installed/jindofs_libs/jindo-sdk-[0-9]*.jar "${DORIS_OUTPUT}/be/lib/java_extensions/preload-extensions"/ + fi + cp -r -p "${DORIS_THIRDPARTY}/installed/webroot"/* "${DORIS_OUTPUT}/be/www"/ copy_common_files "${DORIS_OUTPUT}/be/" mkdir -p "${DORIS_OUTPUT}/be/log"