]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
debian,cmake: Add libxsimd-dev and enable system xsimd for Arrow wip-pr-65935-5-kefu
authorKefu Chai <k.chai@proxmox.com>
Wed, 15 Oct 2025 07:30:52 +0000 (15:30 +0800)
committerKefu Chai <k.chai@proxmox.com>
Wed, 15 Oct 2025 07:32:36 +0000 (15:32 +0800)
Arrow requires xsimd >= 9.0.1 according to arrow/cpp/thirdparty/versions.txt.
This commit makes two related changes:

1. Add libxsimd-dev as a build dependency in debian/control when
   pkg.ceph.arrow is not selected. This satisfies the vendored Arrow build
   requirements and enables successful builds in network-restricted
   environments.

2. Remove the hardcoded -Dxsimd_SOURCE=BUNDLED from BuildArrow.cmake.
   Since we already set ARROW_DEPENDENCY_SOURCE=SYSTEM, Arrow will
   automatically try to find the system xsimd package and fall back to
   the bundled version if not found or insufficient.

This allows systems with libxsimd-dev >= 9.0.1 to use the system package,
reducing build time and dependencies, while maintaining compatibility with
older distributions that will automatically use the bundled version.

Distribution availability:
- Ubuntu Noble (24.04): 12.1.1 (sufficient)
- Ubuntu Jammy (22.04): 7.6.0 (insufficient, will use bundled)
- Debian Trixie (13): 13.2.0 (sufficient)

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
cmake/modules/BuildArrow.cmake
debian/control

index 0ee1d85b49ff18ae9b768a0460d0b73d5fb8ddef..8a16b9b8899df213c13786ab7e85a1faf6542e7b 100644 (file)
@@ -69,10 +69,6 @@ function(build_arrow)
     list(APPEND arrow_DEPENDS Boost)
   endif()
 
-  # since Arrow 15.0.0 needs xsimd>=8.1.0 and since Ubuntu Jammy
-  # Jellyfish only provides 7.6.0, we'll have arrow build it as source
-  list(APPEND arrow_CMAKE_ARGS -Dxsimd_SOURCE=BUNDLED)
-
   # cmake doesn't properly handle arguments containing ";", such as
   # CMAKE_PREFIX_PATH, for which reason we'll have to use some other separator.
   string(REPLACE ";" "!" CMAKE_PREFIX_PATH_ALT_SEP "${CMAKE_PREFIX_PATH}")
index 35c1dbe5bd29ab0ce8a8d60e8812692c9929f27a..954b3dd4dc151b27250642345727006a9e9b99c5 100644 (file)
@@ -85,6 +85,7 @@ Build-Depends: automake,
                libpmem-dev <pkg.ceph.pmdk>,
                libpmemobj-dev (>= 1.8) <pkg.ceph.pmdk>,
                libprotobuf-dev <pkg.ceph.crimson>,
+               libxsimd-dev <!pkg.ceph.arrow>,
                ninja-build,
                nlohmann-json3-dev,
                patch,