Skip to content

MINOR: Fix Gandiva JNI build against Arrow C++ 24.0.0#1140

Open
jbonofre wants to merge 5 commits intoapache:mainfrom
jbonofre:fix/gandiva-jni-decimal-arrow-24
Open

MINOR: Fix Gandiva JNI build against Arrow C++ 24.0.0#1140
jbonofre wants to merge 5 commits intoapache:mainfrom
jbonofre:fix/gandiva-jni-decimal-arrow-24

Conversation

@jbonofre
Copy link
Copy Markdown
Member

@jbonofre jbonofre commented May 7, 2026

Arrow C++ 24.0.0 introduced two breaking changes for the JNI build:

  1. arrow::decimal() was removed; replaced with arrow::decimal128() in the Gandiva JNI source.

  2. xsimd >= 14.0.0 is now a required dependency. The Docker image's vcpkg registry only ships xsimd 13.2.0, so the Linux JNI CMake configuration was failing. Fixed by passing xsimd_SOURCE=BUNDLED to the Arrow C++ CMake configure step so Arrow downloads and uses xsimd 14.0.0 directly, and by passing the vcpkg toolchain file to the Arrow C++ configure step so other vcpkg-managed dependencies are still resolved correctly.

arrow::decimal() was removed in Arrow C++ 24.0.0; replace with arrow::decimal128().
@jbonofre jbonofre added this to the 20.0.0 milestone May 7, 2026
@jbonofre jbonofre added the bug-fix PRs that fix a big. label May 7, 2026
Arrow C++ 24.0.0 introduced xsimd >= 14.0.0 as a required dependency.
The base Docker image was built for an older Arrow C++ release and does
not have xsimd pre-installed, causing the Linux JNI cmake configuration
to fail. Explicitly install it via vcpkg before the cmake step.
@jbonofre jbonofre requested a review from kou as a code owner May 7, 2026 14:01
jbonofre added 2 commits May 7, 2026 16:42
The xsimd installation via vcpkg was not visible to CMake because the
vcpkg toolchain file was not passed to the Arrow C++ configure step.
The Docker image's vcpkg registry only has xsimd 13.2.0 but Arrow C++
24.0.0 requires >= 14.0.0. Override xsimd_SOURCE=BUNDLED so Arrow
downloads and uses xsimd 14.0.0 directly.
Comment thread ci/scripts/jni_manylinux_build.sh Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix PRs that fix a big.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants