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]

Reply via email to