morningman opened a new pull request, #4180: URL: https://github.com/apache/doris-website/pull/4180
## Summary apache/doris#68595 splits the macOS toolchain in two: - The BE builds with `llvm@22`, which `env.sh` selects. LLVM 22.1.8 is the first release whose AddressSanitizer runtime no longer deadlocks at startup on macOS 26.4 and later. - The third-party libraries stay on `llvm@20`. clang 22 turns `-Wincompatible-pointer-types` into an error and stops at unixODBC, so `thirdparty/build-thirdparty.sh` requires `llvm@20` on macOS and exits if it is missing. The macOS build guide installs only `llvm@20`. After that change, a developer who follows it has no `llvm@22`: `env.sh` finds nothing under `$(brew --prefix)/opt/llvm@22/bin`, and the BE silently builds with Apple clang from `/usr/bin`. Listing only `llvm@22` would be wrong the other way. `build.sh` rebuilds the third-party libraries from source whenever `thirdparty/installed` lacks one it checks for, and that build stops at the `llvm@20` check. This is not rare: on an Intel Mac today, the darwin-x86_64 prebuilt predates the paimon-rust libraries that master checks for, so every build on master rebuilds from source. ## Changes In `community/source-install/compilation-mac.md` and its zh-CN counterpart: - `brew install … llvm@20 …` becomes `brew install … llvm@22 llvm@20 …`, followed by a note on what each version is for. - `export PATH="/opt/homebrew/opt/llvm/bin:$PATH"` is removed. It points to the unversioned `llvm` formula, which the guide does not install. It also never affected which compiler the build uses, because `env.sh` puts its own LLVM directory and `/usr/bin` ahead of the user's `PATH`. The new note says the build scripts find both LLVMs through Homebrew. ## Merge order Merge this together with apache/doris#68595 or after it. Installing both versions before then does no harm, since master's `env.sh` still selects `llvm@20`, but the new note describes the behavior after #68595. ## Versions and languages - Community docs, which are not versioned. - [x] Chinese - [x] English ## Validation - `git diff --check` is clean, and the English and Chinese pages carry the same content. - The site build was not run. -- 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]
