From 5cbafac6732e103e0c4099a5a9bffe01ae777b26 Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 13:47:53 +0900 Subject: [PATCH 1/2] GH-48750: [CI][Documentation] Disable Unity builds to fix OpenTelemetry symbol collision in docs build --- ci/docker/linux-apt-docs.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/docker/linux-apt-docs.dockerfile b/ci/docker/linux-apt-docs.dockerfile index b9f7c716e52..c47b12e78d9 100644 --- a/ci/docker/linux-apt-docs.dockerfile +++ b/ci/docker/linux-apt-docs.dockerfile @@ -121,6 +121,6 @@ ENV ARROW_ACERO=ON \ ARROW_JSON=ON \ ARROW_S3=ON \ ARROW_USE_GLOG=OFF \ - CMAKE_UNITY_BUILD=ON \ + CMAKE_UNITY_BUILD=OFF \ CUDAToolkit_ROOT=/usr \ RETICULATE_PYTHON_ENV=${ARROW_PYTHON_VENV} From 5703dc4fbac6cf405ac2db8bd0a809169603aa6c Mon Sep 17 00:00:00 2001 From: Hyukjin Kwon Date: Wed, 7 Jan 2026 14:18:34 +0900 Subject: [PATCH 2/2] Review comment --- ci/docker/linux-apt-docs.dockerfile | 2 +- cpp/cmake_modules/ThirdpartyToolchain.cmake | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ci/docker/linux-apt-docs.dockerfile b/ci/docker/linux-apt-docs.dockerfile index c47b12e78d9..b9f7c716e52 100644 --- a/ci/docker/linux-apt-docs.dockerfile +++ b/ci/docker/linux-apt-docs.dockerfile @@ -121,6 +121,6 @@ ENV ARROW_ACERO=ON \ ARROW_JSON=ON \ ARROW_S3=ON \ ARROW_USE_GLOG=OFF \ - CMAKE_UNITY_BUILD=OFF \ + CMAKE_UNITY_BUILD=ON \ CUDAToolkit_ROOT=/usr \ RETICULATE_PYTHON_ENV=${ARROW_PYTHON_VENV} diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 42fa5e34b3c..0357ebae8c1 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -3726,6 +3726,8 @@ function(build_opentelemetry) prepare_fetchcontent() + # Unity build causes symbol redefinition errors in protobuf-generated code + set(CMAKE_UNITY_BUILD FALSE) set(OTELCPP_PROTO_PATH "${opentelemetry_proto_SOURCE_DIR}") set(WITH_EXAMPLES OFF) set(WITH_OTLP_HTTP ON)