From 1ae01da637c342f1bd5def79b2114018f66503bf Mon Sep 17 00:00:00 2001 From: "Alina (Xi) Li" <96995091+alinaliBQ@users.noreply.github.com> Date: Fri, 20 Mar 2026 13:52:13 -0700 Subject: [PATCH] Export `CLANG_TOOLS_PATH` to `llvm@18` Currently CLANG_TOOLS_PATH path is resolved as /usr/local/bin/clang-format. This is likely due to a new macOS update mentioned in xpack-dev-tools/clang-xpack#13. Before the GitHub macOS update, CLANG_TOOLS_PATH was resolved as /usr/local/opt/llvm@18/bin and we did not have the issue of libunwind linking dynamically to ODBC dylib. The solution is to explicitly set CLANG_TOOLS_PATH to llvm@18/bin. --- .github/workflows/cpp_extra.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/cpp_extra.yml b/.github/workflows/cpp_extra.yml index 8ebf3b9dfbfe..1195152a23b5 100644 --- a/.github/workflows/cpp_extra.yml +++ b/.github/workflows/cpp_extra.yml @@ -414,6 +414,12 @@ jobs: ODBC_INCLUDE_DIR=$LIBIODBC_DIR/include export ARROW_CMAKE_ARGS="-DODBC_INCLUDE_DIR=$ODBC_INCLUDE_DIR" export CXXFLAGS="$CXXFLAGS -I$ODBC_INCLUDE_DIR" + + if [ "${{ matrix.macos-version }}" = "15-intel" ]; then + # GH-49563 Explicitly set llvm path to avoid linking to libunwind + export CLANG_TOOLS_PATH=/usr/local/opt/llvm@18/bin + fi + ci/scripts/cpp_build.sh $(pwd) $(pwd)/build - name: Setup Python uses: actions/setup-python@v6