branch-4.1: [Fix](build) Manage datasketches-cpp in the BE CMake build tree (#66511) - #66577
Open
linrrzqqq wants to merge 1 commit into
Open
branch-4.1: [Fix](build) Manage datasketches-cpp in the BE CMake build tree (#66511)#66577linrrzqqq wants to merge 1 commit into
linrrzqqq wants to merge 1 commit into
Conversation
…he#66511) Related PR: apache#63143 Problem Summary: The BE build previously configured and installed datasketches-cpp from `contrib/datasketches-cpp` into `thirdparty/installed` before configuring the BE itself. Its CMake cache was stored under `contrib/datasketches-cpp/build/Release`, which was **NOT** managed by `clean_be()`. As a result, `build.sh --be --clean` could still fail before reaching `clean_be()` when the cached compiler path belonged to another workspace or no longer existed. ```text install datasketches-cpp to thirdparty path before build be Update datasketches-cpp submodule ... /mnt/disk9/linzhenqi/d1/doris Current commit ID of datasketches-cpp submodule: de8553ba372e618382c2e7b44b0ffc9422b9458c, expected is de8553ba372e618382c2e7b44b0ffc9422b9458c -- The CXX compiler identification is unknown CMake Error at CMakeLists.txt:25 (project): The CMAKE_CXX_COMPILER: /mnt/disk7/linzhenqi/dv/version-toolchain/ldb_toolchain_v28/bin/clang++ is not a full path to an existing compiler tool. Tell CMake where to find the compiler by setting either the environment variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. -- Configuring incomplete, errors occurred! ``` The standalone installation also mixed a contrib dependency into the thirdparty installation directory without using the thirdparty build lifecycle. - Keep datasketches-cpp as a contrib submodule. - Add datasketches-cpp to the BE CMake build tree with `add_subdirectory`. - Link `Exprs` against the upstream `DataSketches::HLL` interface target. - Mark the datasketches include directories as system headers so upstream warnings are not promoted to errors by Doris's `-Werror` settings. - Use the upstream build-tree include path for `hll.hpp`. - Remove the standalone CMake configure/install commands from `build.sh`. - Remove the now-unused `TP_INSTALLED_DIR` variable. The datasketches CMake state is now stored under the BE build directory and is removed together with the rest of the BE build artifacts by `clean_be()`.
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Collaborator
Author
|
run buildall |
Contributor
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pick: #66511