This is an automated email from the ASF dual-hosted git repository.
zhouyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gluten.git
The following commit(s) were added to refs/heads/main by this push:
new a9e0ec58e3 [VL] Add optional Kafka build dependency for Velox backend
(#13182)
a9e0ec58e3 is described below
commit a9e0ec58e3bc45dee1d5605136aeb82c2d955816
Author: Reema <[email protected]>
AuthorDate: Tue Oct 13 09:26:22 2026 +0300
[VL] Add optional Kafka build dependency for Velox backend (#13182)
---
.github/workflows/velox_kafka.yml | 162 ++++++++++++++++++++++++++++
cpp/CMakeLists.txt | 1 +
cpp/velox/CMakeLists.txt | 40 +++++++
dev/builddeps-veloxbe.sh | 8 +-
dev/ci-velox-buildshared-centos-9.sh | 5 +-
dev/docker/Dockerfile.centos8-dynamic-build | 2 +-
dev/docker/Dockerfile.centos9-dynamic-build | 2 +-
dev/vcpkg/init.sh | 8 ++
dev/vcpkg/vcpkg.json | 6 ++
docs/get-started/build-guide.md | 8 ++
ep/build-velox/src/get-velox.sh | 9 ++
ep/build-velox/src/setup-centos7.sh | 2 +-
ep/build-velox/src/setup-centos8.sh | 2 +-
ep/build-velox/src/setup-openeuler24.sh | 2 +-
ep/build-velox/src/setup-rhel.sh | 2 +-
15 files changed, 251 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/velox_kafka.yml
b/.github/workflows/velox_kafka.yml
new file mode 100644
index 0000000000..443f1e7069
--- /dev/null
+++ b/.github/workflows/velox_kafka.yml
@@ -0,0 +1,162 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: Velox Kafka
+
+on:
+ pull_request:
+ paths:
+ - '.github/workflows/velox_kafka.yml'
+ - 'pom.xml'
+ - 'backends-velox/**'
+ - 'gluten-kafka/**'
+ - 'gluten-core/**'
+ - 'gluten-substrait/**'
+ - 'gluten-ut/**'
+ - 'shims/**'
+ - 'cpp/**'
+ - 'ep/build-velox/**'
+ - 'dev/**'
+ - 'build/mvn'
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ actions: read
+
+concurrency:
+ group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{
github.workflow }}
+ cancel-in-progress: true
+
+env:
+ CCACHE_DIR: ${{ github.workspace }}/.ccache
+ PROMPT_ALWAYS_RESPOND: 'y'
+
+jobs:
+ build-native:
+ runs-on: ubuntu-22.04
+ container: apache/gluten:vcpkg-almalinux-8-gcc13
+ timeout-minutes: 180
+ steps:
+ - uses: actions/checkout@v7
+ - name: Install build tools
+ run: |
+ dnf install -y jq bison tzdata
+ dnf module -y install python39
+ alternatives --set python3 /usr/bin/python3.9
+ dnf config-manager --add-repo
https://cli.github.com/packages/rpm/gh-cli.repo
+ dnf install -y gh --setopt=gpgcheck=0
+ - name: Get Ccache from Apache Stash
+ id: ccache-stash
+ uses:
apache/infrastructure-actions/stash/restore@69afc125e535c4c41e7f1b7470f583087e0f344b
+ with:
+ path: ${{ env.CCACHE_DIR }}
+ key: ccache-almalinux8-release-default-${{
hashFiles('ep/build-velox/src/**') }}
+ - name: Get Ccache from actions/cache (fallback on Stash miss)
+ if: steps.ccache-stash.outputs.stash-hit != 'true'
+ uses: actions/cache/restore@v4
+ with:
+ path: ${{ env.CCACHE_DIR }}
+ key: ccache-almalinux8-release-default-${{ github.sha }}
+ restore-keys: |
+ ccache-almalinux8-release-default
+ - name: Build Kafka-enabled native library and tests
+ shell: bash
+ run: |
+ source /opt/rh/gcc-toolset-13/enable
+ export NUM_THREADS=2 CCACHE_MAXSIZE=1G
+ ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --enable_kafka=ON \
+ --build_arrow=OFF --build_tests=ON --build_benchmarks=OFF
--build_examples=OFF \
+ --enable_s3=OFF --enable_gcs=OFF --enable_hdfs=OFF
--enable_abfs=OFF
+ # TODO: Re-enable after https://github.com/apache/gluten/pull/13183 is
merged.
+ # - name: Run native Kafka connector tests
+ # run: ./cpp/build/velox/tests/velox_kafka_connector_test
+ # TODO: Re-enable when the Kafka plan-conversion tests are added.
+ # - name: Run Kafka and file plan conversion tests
+ # run: |
+ # ./cpp/build/velox/tests/velox_plan_conversion_test \
+ #
--gtest_filter='Substrait2VeloxPlanConversionTest.serializedFileSplit:Substrait2VeloxPlanConversionTest.kafkaReadValidation:Substrait2VeloxPlanConversionTest.mixedKafkaAndFileSplits:Substrait2VeloxPlanValidatorTest.kafkaReadRequiresNativeSupport'
+ - uses: actions/upload-artifact@v7
+ with:
+ name: velox-kafka-native-${{ github.sha }}
+ path: cpp/build/releases/
+ if-no-files-found: error
+ retention-days: 1
+
+ spark35:
+ needs: build-native
+ runs-on: ubuntu-22.04
+ timeout-minutes: 60
+ env:
+ KAFKA_BOOTSTRAP_SERVERS: localhost:9092
+ SPARK_LOCAL_IP: 127.0.0.1
+ services:
+ kafka:
+ image: apache/kafka:3.9.1
+ ports:
+ - 9092:9092
+ env:
+ CLUSTER_ID: MkU3OEVBNTcwNTJENDM2Qk
+ KAFKA_NODE_ID: 1
+ KAFKA_PROCESS_ROLES: broker,controller
+ KAFKA_LISTENERS: PLAINTEXT://:9092,CONTROLLER://:9093
+ KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP:
PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
+ KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
+ KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
+ KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+ KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
+ KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
+ KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
+ options: >-
+ --health-cmd "/opt/kafka/bin/kafka-topics.sh --bootstrap-server
localhost:9092 --list"
+ --health-interval 10s
+ --health-timeout 10s
+ --health-retries 12
+ steps:
+ - uses: actions/checkout@v7
+ - uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: '11'
+ cache: maven
+ - uses: actions/download-artifact@v8
+ with:
+ name: velox-kafka-native-${{ github.sha }}
+ path: cpp/build/releases/
+ - name: Install Spark 3.5 modules with Kafka support
+ run: |
+ ./build/mvn -B -ntp install -Pbackends-velox -Pspark-3.5
-Pscala-2.12 \
+ -Pjava-11 -Pkafka -Pspark-ut -Pfast-build -DskipTests
+ # TODO: Re-enable when VeloxKafkaScanValidationSuite is added.
+ # - name: Check Kafka schema validation without a broker
+ # run: |
+ # ./build/mvn -B -ntp test -pl gluten-ut/spark35 -Pbackends-velox
-Pspark-3.5 \
+ # -Pscala-2.12 -Pjava-11 -Pspark-ut -Pfast-build \
+ #
-Dsuites=org.apache.gluten.execution.VeloxKafkaScanValidationSuite
+ # TODO: Re-enable when VeloxGlutenKafkaScanSuite is added.
+ # - name: Check native micro-batch reads and headers fallback
+ # run: |
+ # ./build/mvn -B -ntp test -pl backends-velox -Pbackends-velox
-Pspark-3.5 \
+ # -Pscala-2.12 -Pjava-11 -Pkafka -Pfast-build \
+ #
-Dsuites=org.apache.gluten.execution.kafka.VeloxGlutenKafkaScanSuite
+ - name: Upload test results
+ if: always()
+ uses: actions/upload-artifact@v7
+ with:
+ name: velox-kafka-spark35-results
+ path: |
+ **/surefire-reports/*
+ **/target/*.log
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index f732d9da44..f9918de593 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -66,6 +66,7 @@ option(ENABLE_S3 "Enable S3" OFF)
option(ENABLE_HDFS "Enable HDFS" OFF)
option(ENABLE_ORC "Enable ORC" OFF)
option(ENABLE_ABFS "Enable ABFS" OFF)
+option(ENABLE_KAFKA "Enable Kafka streaming read" OFF)
option(ENABLE_GPU "Enable GPU" OFF)
option(ENABLE_ENHANCED_FEATURES "Enable enhanced features" OFF)
option(ENABLE_LTO "Enable IPO/LTO" OFF)
diff --git a/cpp/velox/CMakeLists.txt b/cpp/velox/CMakeLists.txt
index fb4b0e4679..03526acaf5 100644
--- a/cpp/velox/CMakeLists.txt
+++ b/cpp/velox/CMakeLists.txt
@@ -496,8 +496,48 @@ else()
target_link_libraries(velox PUBLIC external::simdjson)
endif()
+# Restore the platform's default suffixes before looking for optional dynamic
+# dependencies such as librdkafka.
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BCK})
+# Find and link librdkafka for Kafka streaming support
+if(ENABLE_KAFKA)
+ target_compile_definitions(velox PUBLIC ENABLE_KAFKA)
+ find_package(RdKafka CONFIG QUIET)
+ if(RdKafka_FOUND AND TARGET RdKafka::rdkafka++)
+ message(STATUS "Found RdKafka: ${RdKafka_DIR}")
+ target_link_libraries(velox PUBLIC RdKafka::rdkafka++)
+ else()
+ # Try to find librdkafka using pkg-config
+ find_package(PkgConfig QUIET)
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(RDKAFKA QUIET IMPORTED_TARGET rdkafka++)
+ if(RDKAFKA_FOUND)
+ message(STATUS "Found librdkafka via pkg-config: ${RDKAFKA_LIBRARIES}")
+ target_link_libraries(velox PUBLIC PkgConfig::RDKAFKA)
+ else()
+ message(
+ FATAL_ERROR
+ "ENABLE_KAFKA is ON but the librdkafka C++ library was not found. "
+ "Install librdkafka-dev (Ubuntu/Debian), librdkafka-devel
(RPM-based "
+ "Linux), or librdkafka (Homebrew). For an existing installation, "
+ "set RdKafka_DIR or CMAKE_PREFIX_PATH to locate its CMake package,
"
+ "or PKG_CONFIG_PATH to the directory containing rdkafka++.pc. "
+ "To build without Kafka, pass --enable_kafka=OFF to the build
script "
+ "or -DENABLE_KAFKA=OFF to CMake.")
+ endif()
+ else()
+ message(
+ FATAL_ERROR
+ "ENABLE_KAFKA is ON but the librdkafka C++ CMake target was not
found "
+ "and pkg-config is unavailable. Install pkg-config, or set
RdKafka_DIR "
+ "or CMAKE_PREFIX_PATH to an installation providing
RdKafka::rdkafka++. "
+ "To build without Kafka, pass --enable_kafka=OFF to the build script
"
+ "or -DENABLE_KAFKA=OFF to CMake.")
+ endif()
+ endif()
+endif()
+
# Adopted from Velox's CMakeLists.txt.
# https://github.com/facebookincubator/velox/pull/11410
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
diff --git a/dev/builddeps-veloxbe.sh b/dev/builddeps-veloxbe.sh
index 11f351b787..b12c9d2efc 100755
--- a/dev/builddeps-veloxbe.sh
+++ b/dev/builddeps-veloxbe.sh
@@ -36,6 +36,7 @@ ENABLE_GCS=OFF
ENABLE_S3=OFF
ENABLE_HDFS=OFF
ENABLE_ABFS=OFF
+ENABLE_KAFKA=OFF
ENABLE_VCPKG=OFF
ENABLE_GPU=OFF
ENABLE_ENHANCED_FEATURES=OFF
@@ -105,6 +106,10 @@ do
ENABLE_ABFS=("${arg#*=}")
shift # Remove argument name from processing
;;
+ --enable_kafka=*)
+ ENABLE_KAFKA=("${arg#*=}")
+ shift # Remove argument name from processing
+ ;;
--enable_vcpkg=*)
ENABLE_VCPKG=("${arg#*=}")
shift # Remove argument name from processing
@@ -219,7 +224,7 @@ function concat_velox_param {
if [ "$ENABLE_VCPKG" = "ON" ]; then
# vcpkg will install static depends and init build environment
BUILD_OPTIONS="--build_tests=$BUILD_TESTS --enable_s3=$ENABLE_S3
--enable_gcs=$ENABLE_GCS \
- --enable_hdfs=$ENABLE_HDFS --enable_abfs=$ENABLE_ABFS"
+ --enable_hdfs=$ENABLE_HDFS --enable_abfs=$ENABLE_ABFS
--enable_kafka=$ENABLE_KAFKA"
source ./dev/vcpkg/env.sh ${BUILD_OPTIONS}
fi
@@ -290,6 +295,7 @@ function build_gluten_cpp {
"-DENABLE_S3=$ENABLE_S3"
"-DENABLE_HDFS=$ENABLE_HDFS"
"-DENABLE_ABFS=$ENABLE_ABFS"
+ "-DENABLE_KAFKA=$ENABLE_KAFKA"
"-DENABLE_GPU=$ENABLE_GPU"
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
"-DENABLE_ENHANCED_FEATURES=$ENABLE_ENHANCED_FEATURES"
diff --git a/dev/ci-velox-buildshared-centos-9.sh
b/dev/ci-velox-buildshared-centos-9.sh
index 2d2fa8c9bc..47a2d8276d 100755
--- a/dev/ci-velox-buildshared-centos-9.sh
+++ b/dev/ci-velox-buildshared-centos-9.sh
@@ -27,5 +27,8 @@ fi
export VELOX_BUILD_SHARED=ON
+# Temporary verification for Kafka support in the non-vcpkg dynamic build.
+yum install -y librdkafka-devel
+
./dev/builddeps-veloxbe.sh --run_setup_script=OFF --build_arrow=OFF
--build_tests=ON \
- --build_examples=ON --build_benchmarks=ON
+ --build_examples=ON --build_benchmarks=ON --enable_kafka=ON
diff --git a/dev/docker/Dockerfile.centos8-dynamic-build
b/dev/docker/Dockerfile.centos8-dynamic-build
index 388f71f922..902368f9b9 100644
--- a/dev/docker/Dockerfile.centos8-dynamic-build
+++ b/dev/docker/Dockerfile.centos8-dynamic-build
@@ -41,7 +41,7 @@ RUN set -ex; \
sed -i -e
"s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g"
/etc/yum.repos.d/CentOS-Stream-* || true; \
dnf install -y --setopt=install_weak_deps=False gcc-toolset-12; \
echo "check_certificate = off" >> ~/.wgetrc; \
- yum install -y java-${JAVA_VERSION}-openjdk-devel patch wget git perl; \
+ yum install -y java-${JAVA_VERSION}-openjdk-devel patch wget git perl
librdkafka-devel; \
mirror_host="https://www.apache.org/dyn/closer.lua"; \
wget -nv
${mirror_host}/celeborn/celeborn-0.5.4/apache-celeborn-0.5.4-bin.tgz?action=download
-O /opt/apache-celeborn-0.5.4-bin.tgz; \
wget -nv
${mirror_host}/celeborn/celeborn-0.6.3/apache-celeborn-0.6.3-bin.tgz?action=download
-O /opt/apache-celeborn-0.6.3-bin.tgz; \
diff --git a/dev/docker/Dockerfile.centos9-dynamic-build
b/dev/docker/Dockerfile.centos9-dynamic-build
index 9a8a26378d..93847d232d 100644
--- a/dev/docker/Dockerfile.centos9-dynamic-build
+++ b/dev/docker/Dockerfile.centos9-dynamic-build
@@ -35,7 +35,7 @@ RUN set -ex; \
# clang-tidy, installed here so its version is pinned to the image, not to
each CI run.
dnf install -y --setopt=install_weak_deps=False clang-tools-extra; \
echo "check_certificate = off" >> ~/.wgetrc; \
- yum install -y java-${JAVA_VERSION}-openjdk-devel patch wget git perl; \
+ yum install -y java-${JAVA_VERSION}-openjdk-devel patch wget git perl
librdkafka-devel; \
mirror_host="https://www.apache.org/dyn/closer.lua"; \
wget -nv
${mirror_host}/celeborn/celeborn-0.5.4/apache-celeborn-0.5.4-bin.tgz?action=download
-O /opt/apache-celeborn-0.5.4-bin.tgz; \
wget -nv
${mirror_host}/celeborn/celeborn-0.6.3/apache-celeborn-0.6.3-bin.tgz?action=download
-O /opt/apache-celeborn-0.6.3-bin.tgz; \
diff --git a/dev/vcpkg/init.sh b/dev/vcpkg/init.sh
index 410373f229..4515ec6a4d 100755
--- a/dev/vcpkg/init.sh
+++ b/dev/vcpkg/init.sh
@@ -22,6 +22,7 @@ ENABLE_S3=OFF
ENABLE_GCS=OFF
ENABLE_HDFS=OFF
ENABLE_ABFS=OFF
+ENABLE_KAFKA=OFF
for arg in "$@"; do
case $arg in
@@ -45,6 +46,10 @@ for arg in "$@"; do
ENABLE_ABFS=("${arg#*=}")
shift # Remove argument name from processing
;;
+ --enable_kafka=*)
+ ENABLE_KAFKA=("${arg#*=}")
+ shift # Remove argument name from processing
+ ;;
*)
echo "Unrecognized argument: $arg"
exit 1
@@ -87,6 +92,9 @@ fi
if [ "$ENABLE_ABFS" = "ON" ]; then
EXTRA_FEATURES+="--x-feature=velox-abfs "
fi
+if [ "$ENABLE_KAFKA" = "ON" ]; then
+ EXTRA_FEATURES+="--x-feature=velox-kafka "
+fi
if [ "${VCPKG_DYNAMIC_OPENSSL:-OFF}" = "ON" ]; then
EXTRA_FEATURES+="--x-feature=dynamic-openssl "
fi
diff --git a/dev/vcpkg/vcpkg.json b/dev/vcpkg/vcpkg.json
index a7ad399b50..4003edc0ec 100644
--- a/dev/vcpkg/vcpkg.json
+++ b/dev/vcpkg/vcpkg.json
@@ -105,6 +105,12 @@
"azure-identity-cpp"
]
},
+ "velox-kafka": {
+ "description": "Velox Kafka Support",
+ "dependencies": [
+ "librdkafka"
+ ]
+ },
"duckdb": {
"description": "DUCKDB",
"dependencies": [
diff --git a/docs/get-started/build-guide.md b/docs/get-started/build-guide.md
index a5244fd4e8..380be9bbd0 100644
--- a/docs/get-started/build-guide.md
+++ b/docs/get-started/build-guide.md
@@ -20,6 +20,7 @@ Please set them via `--`, e.g. `--build_type=Release`.
| enable_gcs | Build with GCS support.
| OFF |
| enable_hdfs | Build with HDFS support.
| OFF |
| enable_abfs | Build with ABFS support.
| OFF |
+| enable_kafka | Build with Kafka streaming read support
(librdkafka). | OFF |
| enable_vcpkg | Enable vcpkg for static build.
| OFF |
| run_setup_script | Run setup script to install Velox dependencies.
| ON |
| velox_repo | Specify your own Velox repo to build.
| "" |
@@ -30,6 +31,13 @@ Please set them via `--`, e.g. `--build_type=Release`.
| build_arrow | Build arrow java/cpp and install the libs in local.
Can turn it OFF after first build. | ON |
| spark_version | Build for specified version of Spark(3.4, 3.5, 4.0,
4.1, ALL). `ALL` means build for all versions. | ALL |
+Use `--enable_kafka=ON` to enable Kafka streaming reads. With
`--enable_vcpkg=ON`,
+vcpkg installs librdkafka. Without vcpkg, the platform setup scripts install
+`librdkafka-dev` on Ubuntu/Debian, `librdkafka-devel` on RPM-based Linux
platforms,
+or `librdkafka` through Homebrew on macOS. With `--run_setup_script=OFF`,
install
+librdkafka separately and make its CMake package or `rdkafka++` pkg-config
metadata
+available to the build.
+
### Environment variables for build
These environment variables can be set before running build scripts to control
build behavior.
diff --git a/ep/build-velox/src/get-velox.sh b/ep/build-velox/src/get-velox.sh
index ef3285fe21..71f1610c3b 100755
--- a/ep/build-velox/src/get-velox.sh
+++ b/ep/build-velox/src/get-velox.sh
@@ -66,11 +66,17 @@ fi
function process_setup_ubuntu {
sed -i "s|run_and_time install_arrow||g" scripts/setup-ubuntu.sh
+ if ! grep -q 'librdkafka-dev' scripts/setup-ubuntu.sh; then
+ sed -i 's/libevent-dev /libevent-dev librdkafka-dev /'
scripts/setup-ubuntu.sh
+ fi
echo "Using setup script from Velox"
}
function process_setup_centos9 {
sed -i "s|run_and_time install_arrow||g" scripts/setup-centos9.sh
+ if ! grep -q 'librdkafka-devel' scripts/setup-centos9.sh; then
+ sed -i 's/libevent-devel /libevent-devel librdkafka-devel /'
scripts/setup-centos9.sh
+ fi
echo "Using setup script from Velox"
}
@@ -99,6 +105,9 @@ function process_setup_macos {
if ! grep -Fq 'FOLLY_USE_JEMALLOC=OFF' scripts/setup-common.sh; then
sed -i '' 's/local FOLLY_FLAGS=(/local
FOLLY_FLAGS=(-DFOLLY_USE_JEMALLOC=OFF /' scripts/setup-common.sh
fi
+ if ! grep -q 'librdkafka' scripts/setup-macos.sh; then
+ sed -i '' 's/MACOS_VELOX_DEPS="/MACOS_VELOX_DEPS="librdkafka /'
scripts/setup-macos.sh
+ fi
}
function prepare_velox_source_code {
diff --git a/ep/build-velox/src/setup-centos7.sh
b/ep/build-velox/src/setup-centos7.sh
index 3fe457b326..6823bd10d4 100755
--- a/ep/build-velox/src/setup-centos7.sh
+++ b/ep/build-velox/src/setup-centos7.sh
@@ -233,7 +233,7 @@ $SUDO dnf makecache
# dnf install dependency libraries
dnf_install epel-release dnf-plugins-core # For ccache, ninja
-dnf_install ccache wget which libevent-devel \
+dnf_install ccache wget which libevent-devel librdkafka-devel \
yasm \
openssl-devel libzstd-devel lz4-devel double-conversion-devel \
curl-devel libxml2-devel libgsasl-devel libuuid-devel patch libicu-devel
tzdata
diff --git a/ep/build-velox/src/setup-centos8.sh
b/ep/build-velox/src/setup-centos8.sh
index cb3c4e0709..7cf8ad6173 100755
--- a/ep/build-velox/src/setup-centos8.sh
+++ b/ep/build-velox/src/setup-centos8.sh
@@ -87,7 +87,7 @@ function install_build_prerequisites {
# Install dependencies from the package managers.
function install_velox_deps_from_dnf {
- dnf_install libevent-devel \
+ dnf_install libevent-devel librdkafka-devel \
openssl-devel re2-devel libzstd-devel lz4-devel double-conversion-devel \
libdwarf-devel curl-devel libicu-devel bison flex libsodium-devel
diff --git a/ep/build-velox/src/setup-openeuler24.sh
b/ep/build-velox/src/setup-openeuler24.sh
index 65ac853286..a0a3422d9a 100755
--- a/ep/build-velox/src/setup-openeuler24.sh
+++ b/ep/build-velox/src/setup-openeuler24.sh
@@ -90,7 +90,7 @@ function install_build_prerequisites {
# Install dependencies from the package managers.
function install_velox_deps_from_dnf {
- dnf_install libevent-devel \
+ dnf_install libevent-devel librdkafka-devel \
openssl-devel re2-devel libzstd-devel lz4-devel double-conversion-devel \
libdwarf-devel elfutils-libelf-devel curl-devel libicu-devel bison flex \
libsodium-devel zlib-devel c-ares-devel
diff --git a/ep/build-velox/src/setup-rhel.sh b/ep/build-velox/src/setup-rhel.sh
index e0780d2b1b..3e2ef6fd35 100755
--- a/ep/build-velox/src/setup-rhel.sh
+++ b/ep/build-velox/src/setup-rhel.sh
@@ -73,7 +73,7 @@ function install_build_prerequisites {
# Install dependencies from the package managers.
function install_velox_deps_from_dnf {
- dnf_install libevent-devel \
+ dnf_install libevent-devel librdkafka-devel \
openssl-devel lz4-devel curl-devel libicu-devel zlib-devel
# install sphinx for doc gen
pip install sphinx sphinx-tabs breathe sphinx_rtd_theme
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]