linrrzqqq opened a new pull request, #66511:
URL: https://github.com/apache/doris/pull/66511
Related PR: #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.
### Release note
- 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()`.
--
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]