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]

Reply via email to