whg517 opened a new issue, #46884: URL: https://github.com/apache/doris/issues/46884
### Discussed in https://github.com/apache/doris/discussions/46880 <div type='discussions-op-text'> <sup>Originally posted by **whg517** January 13, 2025</sup> ## env - os: registry.access.redhat.com/ubi9 - ldb-toolchain: 0.21 - java: 17 - doris: 3.0.3-rc04 ## build script ```dockerfile FROM registry.access.redhat.com/ubi9 ARG LDB_TOOLCHAIN_VERSION=0.21 ARG PRODUCT_VERSION=3.0.3-rc04 ARG JAVA_VERSION=17 # install system requirements RUN <<EOT # https://adoptium.net/en-GB/installation/linux/#_centosrhelfedora_instructions cat <<EOF > /etc/yum.repos.d/adoptium.repo [Adoptium] name=Adoptium baseurl=https://packages.adoptium.net/artifactory/rpm/${DISTRIBUTION_NAME:-$(. /etc/os-release; echo $ID)}/\$releasever/\$basearch enabled=1 gpgcheck=1 gpgkey=https://packages.adoptium.net/artifactory/api/gpg/key/public EOF dnf update -y dnf install -y \ automake \ bzip2 \ cmake \ cyrus-sasl-devel \ diffutils \ fuse-devel \ gcc \ gcc-c++ \ gettext \ git \ gzip \ hostname \ krb5-devel \ libcurl-devel \ libtool \ make \ maven \ nodejs \ openssl-devel \ patch \ pkg-config \ perl-CPAN \ tar \ temurin-17-jdk \ tzdata-java \ unzip \ wget \ which \ xz \ zlib-devel \ zip microdnf clean all rm -rf /var/cache/yum # smoke test java -version EOT ENV JAVA_HOME=/usr/lib/jvm/temurin-${JAVA_VERSION}-jdk ENV JAVA_VERSION=${JAVA_VERSION} # setup gettext # Because of the gettext of dnf is lack autopoint, so we need to install gettext from source. # Download gettext https://ftp.gnu.org/gnu/gettext/gettext-0.21.tar.gz RUN <<EOF set -ex # Get already installed gettext version GETTEXT_VERSION=$(gettext --version | head -n 1 | awk '{print $4}') mkdir -p /build/gettext mkdir -p /opt/gettext pushd /build/gettext curl -sSLf https://ftp.gnu.org/gnu/gettext/gettext-${GETTEXT_VERSION}.tar.gz \ | tar -xz --strip-components=1 ./configure --prefix=/opt/gettext make -j$(nproc) make install popd # cleanup rm -rf /build/gettext EOF ENV PATH="/opt/gettext/bin:$PATH" # setup ldb-toolchain # Download ldb_toolchain_gen.aarch64.sh # https://github.com/amosbird/ldb_toolchain_gen/releases/download/v0.9.1/ldb_toolchain_gen.aarch64.sh # or https://github.com/amosbird/ldb_toolchain_gen/releases/download/v0.9.1/ldb_toolchain_gen.sh # Note: # - In 0.9.1, ldb-toolchain containes curl, it conflicts with the system curl, # when use it, it will cause dns resolution error # - In 0.21, ldb-toolchain containes curl, it will verify the certificate # file /etc/ssl/certs/ca-certificates.crt. But ca-certificates package generate a default # file /etc/ssl/certs/ca-bundle.crt, so we need to create a symlink to fix it. # - 0.14.1 aaarch64 version is error to build doris RUN <<EOF set -ex ARCH=$(uname -m) ARCH=${ARCH/arm64/aarch64} release_file="ldb_toolchain_gen.sh" if [ "$ARCH" == "aarch64" ]; then release_file="ldb_toolchain_gen.aarch64.sh" fi mkdir -p /build/ldb-toolchain pushd /build/ldb-toolchain curl -sSLf https://github.com/amosbird/ldb_toolchain_gen/releases/download/v${LDB_TOOLCHAIN_VERSION}/${release_file} \ -o ldb_toolchain_gen.sh chmod +x ldb_toolchain_gen.sh ./ldb_toolchain_gen.sh /opt/ldb-toolchain popd # create a symlink to bison, because doris need byacc ln -s /opt/ldb-toolchain/bin/bison /opt/ldb-toolchain/bin/byacc # fix /opt/ldb-toolchain/bin/curl certificate verify failed ln -s /etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt # cleanup rm -rf /build/ldb-toolchain EOF ENV PATH="/opt/ldb-toolchain/bin:$PATH" # build doris # Download doris https://github.com/apache/doris/archive/refs/tags/3.0.3-rc04.tar.gz RUN <<EOF set -ex # alias python3 to python ln -s /usr/bin/python3 /usr/bin/python mkdir -p /build/doris pushd /build/doris curl -sSLf https://github.com/apache/doris/archive/refs/tags/${PRODUCT_VERSION}.tar.gz \ | tar -xz --strip-components=1 # Add `set -x` after `set -euo pipefail` sed -i '/set -eo pipefail/a set -x' /build/doris/build.sh sed -i '/set -eo pipefail/a set -x' /build/doris/thirdparty/build-thirdparty.sh # build doris, disable avx2 export USE_AVX2=OFF export USE_UNWIND=OFF # ./build.sh nohup ./build.sh > /build/doris-build.log 2>&1 & tail -f /build/doris-build.log # TODO EOF ``` ## error ```text [799/1371] Linking CXX static library src/runtime/libRuntime.a [800/1371] Building CXX object src/service/CMakeFiles/Service.dir/brpc_service.cpp.o [801/1371] Building CXX object src/service/CMakeFiles/Service.dir/backend_service.cpp.o [802/1371] Building CXX object src/service/CMakeFiles/Service.dir/http_service.cpp.o [803/1371] Building CXX object src/service/CMakeFiles/Service.dir/point_query_executor.cpp.o [804/1371] Building CXX object src/service/CMakeFiles/Service.dir/internal_service.cpp.o FAILED: src/service/CMakeFiles/Service.dir/internal_service.cpp.o /opt/ldb-toolchain/bin/clang++ -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG -DBOOST_STACKTRACE_USE_BACKTRACE -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_UUID_RANDOM_PROVIDER_FORCE_POSIX=1 -DBRPC_ENABLE_CPU_PROFILER -DGLOG_CUSTOM_PREFIX_SUPPORT -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -DLIBJVM -DS2_USE_GFLAGS -DS2_USE_GLOG -DUSE_HADOOP_HDFS -DUSE_JEMALLOC -DUSE_MEM_TRACKER -D__STDC_FORMAT_MACROS -I/build/doris/be/src/apache-orc/c++/include -I/build/doris/be/build_Release/src/apache-orc/c++/include -I/build/doris/be/build_Release/src/clucene/src/shared -I/build/doris/be/src/clucene/src/core -I/build/doris/be/src/clucene/src/shared -I/build/doris/be/src/clucene/src/contribs-lib -I/build/doris/be/src -I/build/doris/be/test -I/usr/lib/jvm/temurin-17-jdk/include -I/usr/lib/jvm/temurin-17-jdk/include/linux -isystem /build/doris/be/../common -isystem /build/doris/be/../gensrc/build -isystem /build/doris/thirdparty/installed/include -isystem /build/doris/thirdparty/installed/gperftools/include -O3 -DNDEB UG -O3 -DNDEBUG -std=gnu++20 -D OS_LINUX -g -Wall -Wextra -Werror -pthread -fstrict-aliasing -fno-omit-frame-pointer -Wnon-virtual-dtor -Wno-unused-parameter -Wno-sign-compare -fcolor-diagnostics -Wpedantic -Wshadow-field -Wunused -Wunused-command-line-argument -Wunused-exception-parameter -Wunused-volatile-lvalue -Wunused-template -Wunused-member-function -Wunused-macros -Wconversion -Wno-gnu-statement-expression -Wno-implicit-float-conversion -Wno-implicit-int-conversion -Wno-sign-conversion -Wno-missing-field-initializers -Wno-unused-const-variable -Wno-shorten-64-to-32 -march=armv8-a+crc -Winvalid-pch -Xclang -include-pch -Xclang /build/doris/be/build_Release/CMakeFiles/pch.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /build/doris/be/build_Release/CMakeFiles/pch.dir/cmake_pch.hxx -MD -MT src/service/CMakeFiles/Service.dir/internal_service.cpp.o -MF src/service/CMakeFiles/Service.dir/internal_service.cpp.o.d -o src/service/CMakeFiles/Service.dir/internal_service.cpp.o -c /bu ild/doris/be/src/service/internal_service.cpp In file included from /build/doris/be/src/service/internal_service.cpp:134: /build/doris/be/src/vec/exec/format/orc/vorc_reader.h:661:63: error: non-virtual member function marked 'override' hides virtual member function 661 | std::vector<bool> selected_columns) override; | ^ /build/doris/be/src/apache-orc/c++/include/orc/OrcFile.hh:66:18: note: hidden overloaded virtual function 'orc::InputStream::beforeReadStripe' declared here: different number of parameters (3 vs 2) 66 | virtual void beforeReadStripe( | ^ 1 error generated. [805/1371] Building CXX object src/udf/CMakeFiles/Udf.dir/udf.cpp.o [806/1371] Building CXX object src/service/CMakeFiles/doris_be.dir/doris_main.cpp.o [807/1371] Building CXX object src/udf/CMakeFiles/DorisUdf.dir/udf.cpp.o [808/1371] Building CXX object src/cloud/CMakeFiles/Cloud.dir/cloud_backend_service.cpp.o [809/1371] Building CXX object src/olap/CMakeFiles/Olap.dir/delete_handler.cpp.o [810/1371] Building CXX object src/olap/CMakeFiles/Olap.dir/tablet_reader.cpp.o ninja: build stopped: subcommand failed. ``` ## files > source code from doris-thirdparty head https://github.com/apache/doris-thirdparty/blob/f10bb3d91136149845f69fa51ad3a0663941c43d/c%2B%2B/include/orc/OrcFile.hh#L66 ```cpp virtual void beforeReadStripe( std::unique_ptr<StripeInformation> currentStripeInformation, std::vector<bool> selectedColumns, std::unordered_map<orc::StreamId, std::shared_ptr<InputStream>>& streams); ``` > source code from tag 3.0.3-rc04 https://github.com/apache/doris/blob/62a58bff4c2f640f1afcba8c754058d5f77d420f/be/src/vec/exec/format/orc/vorc_reader.h#L660-L661 ## desc The build failed at tag time because the latest code was used when fetching the submodule. https://github.com/apache/doris/blob/62a58bff4c2f640f1afcba8c754058d5f77d420f/build.sh#L552-L555 The source code downloaded in tag does not have git commands. So when you get a submodule, you get the latest code from the submodule repository. https://github.com/apache/doris/blob/62a58bff4c2f640f1afcba8c754058d5f77d420f/build.sh#L308-L317</div> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
