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 ca7a0a4e49 [GLUTEN-7139][VL] Manage Velox Arrow through vcpkg (#12625)
ca7a0a4e49 is described below
commit ca7a0a4e49df173949d2ea1bd7d681089783f48f
Author: Chang Chen <[email protected]>
AuthorDate: Mon Oct 5 14:29:00 2026 +0800
[GLUTEN-7139][VL] Manage Velox Arrow through vcpkg (#12625)
---
.github/workflows/velox_weekly.yml | 8 +-
cpp/CMake/ConfigArrow.cmake | 8 ++
cpp/CMake/Findglog.cmake | 71 +++++-----
cpp/CMakeLists.txt | 3 +-
cpp/core/CMakeLists.txt | 14 +-
cpp/velox/CMakeLists.txt | 50 +++----
cpp/velox/benchmarks/CMakeLists.txt | 3 +-
.../operators/writer/VeloxParquetDataSource.h | 1 -
dev/builddep-veloxbe-inc.sh | 14 +-
dev/builddeps-veloxbe.sh | 22 ++-
.../Dockerfile.almalinux8-gcc13-static-build | 3 +-
dev/docker/Dockerfile.centos7-gcc13-static-build | 5 +-
dev/docker/Dockerfile.centos7-static-build | 5 +-
dev/docker/Dockerfile.centos8-gcc13-static-build | 5 +-
dev/docker/Dockerfile.centos8-static-build | 5 +-
dev/docker/Dockerfile.centos9-static-build | 5 +-
dev/vcpkg/env.sh | 9 +-
dev/vcpkg/populate-static-image-cache.sh | 22 +++
dev/vcpkg/ports/arrow/android.patch | 27 ++++
dev/vcpkg/ports/arrow/arrow-testing-boost.patch | 64 +++++++++
.../ports/arrow/arrow-testing-static-boost.patch | 38 +++++
dev/vcpkg/ports/arrow/msvc-static-name.patch | 13 ++
dev/vcpkg/ports/arrow/portfile.cmake | 154 +++++++++++++++++++++
dev/vcpkg/ports/arrow/thrift.patch | 22 +++
dev/vcpkg/ports/arrow/usage | 4 +
dev/vcpkg/ports/arrow/usage-acero | 3 +
dev/vcpkg/ports/arrow/usage-dataset | 3 +
dev/vcpkg/ports/arrow/usage-flight | 3 +
dev/vcpkg/ports/arrow/usage-flightsql | 3 +
dev/vcpkg/ports/arrow/usage-parquet | 3 +
dev/vcpkg/ports/arrow/utf8proc.patch | 13 ++
dev/vcpkg/ports/arrow/vcpkg.json | 149 ++++++++++++++++++++
dev/vcpkg/toolchain.cmake | 25 +++-
dev/vcpkg/vcpkg-configuration.json | 6 +
dev/vcpkg/vcpkg.json | 5 +
ep/build-velox/src/build-velox.sh | 18 ++-
ep/build-velox/src/get-velox.sh | 11 --
ep/build-velox/src/setup-openeuler24.sh | 6 +-
tools/workload/benchmark_velox/initialize.ipynb | 12 --
39 files changed, 697 insertions(+), 138 deletions(-)
diff --git a/.github/workflows/velox_weekly.yml
b/.github/workflows/velox_weekly.yml
index 47e08a9c13..c4968a8c3c 100644
--- a/.github/workflows/velox_weekly.yml
+++ b/.github/workflows/velox_weekly.yml
@@ -212,7 +212,8 @@ jobs:
- uses: actions/checkout@v7
- name: Install dependencies
run: |
- dnf update -y && dnf install -y java-1.8.0-openjdk-devel sudo patch
git perl ccache curl python3
+ dnf install -y --disablerepo='update*' --disablerepo='*source*'
--disablerepo='*debuginfo*' \
+ java-1.8.0-openjdk-devel sudo patch git perl ccache curl python3
echo "JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> $GITHUB_ENV
- name: Install Stash restore dependencies # the stash action needs gh
and jq, absent from this container
run: |
@@ -270,7 +271,8 @@ jobs:
- uses: actions/checkout@v7
- name: Install dependencies
run: |
- dnf update -y && dnf install -y java-1.8.0-openjdk-devel sudo patch
git perl curl python3
+ dnf install -y --disablerepo='update*' --disablerepo='*source*'
--disablerepo='*debuginfo*' \
+ java-1.8.0-openjdk-devel sudo patch git perl curl python3
echo "JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> $GITHUB_ENV
- name: Install Stash restore dependencies # the stash action needs gh
and jq, absent from this container
run: |
@@ -295,7 +297,7 @@ jobs:
mkdir -p $CCACHE_DIR
cd $GITHUB_WORKSPACE/
./dev/vcpkg/setup-build-depends.sh
- ./dev/package-vcpkg.sh --build_arrow=ON --spark_version=3.5
+ ./dev/package-vcpkg.sh --spark_version=3.5
cd $GITHUB_WORKSPACE/tools/gluten-it
$GITHUB_WORKSPACE/build/mvn -ntp clean install -Pspark-3.5
- name: Clean Ccache tmp before save
diff --git a/cpp/CMake/ConfigArrow.cmake b/cpp/CMake/ConfigArrow.cmake
index 0d604a91e6..4cf061a769 100644
--- a/cpp/CMake/ConfigArrow.cmake
+++ b/cpp/CMake/ConfigArrow.cmake
@@ -20,6 +20,14 @@ set(ARROW_STATIC_LIBRARY_SUFFIX ".a")
set(ARROW_LIB_NAME "arrow")
set(ARROW_BUNDLED_DEPS "arrow_bundled_dependencies")
+if(ENABLE_GLUTEN_VCPKG)
+ find_package(Arrow CONFIG REQUIRED)
+ if(NOT TARGET Arrow::arrow)
+ add_library(Arrow::arrow INTERFACE IMPORTED)
+ target_link_libraries(Arrow::arrow INTERFACE Arrow::arrow_static)
+ endif()
+endif()
+
set(ARROW_INSTALL_DIR "${ARROW_HOME}/install")
set(ARROW_LIB_DIR "${ARROW_INSTALL_DIR}/lib")
set(ARROW_LIB64_DIR "${ARROW_INSTALL_DIR}/lib64")
diff --git a/cpp/CMake/Findglog.cmake b/cpp/CMake/Findglog.cmake
index 6d9dbdacf1..6549adc9a1 100644
--- a/cpp/CMake/Findglog.cmake
+++ b/cpp/CMake/Findglog.cmake
@@ -39,51 +39,52 @@ if(NOT glog_FOUND)
include(BuildGlog)
endif()
-get_filename_component(libglog_ext ${GLOG_LIBRARY} EXT)
-if(libglog_ext STREQUAL ".a")
- set(libglog_type STATIC)
- set(libgflags_component static)
-else()
- set(libglog_type SHARED)
- set(libgflags_component shared)
-endif()
+if(NOT TARGET glog::glog)
+ get_filename_component(libglog_ext ${GLOG_LIBRARY} EXT)
+ if(libglog_ext STREQUAL ".a")
+ set(libglog_type STATIC)
+ set(libgflags_component static)
+ else()
+ set(libglog_type SHARED)
+ set(libgflags_component shared)
+ endif()
-# glog::glog may already exist. Use google::glog to avoid conflicts.
-add_library(google::glog ${libglog_type} IMPORTED)
-set_target_properties(google::glog PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
+ add_library(glog::glog ${libglog_type} IMPORTED)
+ set_target_properties(glog::glog PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
"${GLOG_INCLUDE_DIR}")
-set_target_properties(
- google::glog PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+ set_target_properties(
+ glog::glog PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${GLOG_LIBRARY}")
-set(GLUTEN_GFLAGS_VERSION 2.2.2)
-find_package(gflags ${GLUTEN_GFLAGS_VERSION} CONFIG
- COMPONENTS ${libgflags_component})
-
-if(NOT gflags_FOUND AND glog_FOUND)
- message(
- FATAL_ERROR
- "Glog found but Gflags not found. Set BUILD_GLOG=ON and reload cmake.")
-endif()
+ set(GLUTEN_GFLAGS_VERSION 2.2.2)
+ find_package(gflags ${GLUTEN_GFLAGS_VERSION} CONFIG
+ COMPONENTS ${libgflags_component})
-if(gflags_FOUND)
- if(NOT TARGET gflags::gflags_${libgflags_component}
- AND NOT TARGET gflags_${libgflags_component})
+ if(NOT gflags_FOUND AND glog_FOUND)
message(
FATAL_ERROR
- "Found Gflags but missing component gflags_${libgflags_component}")
+ "Glog found but Gflags not found. Set BUILD_GLOG=ON and reload cmake.")
endif()
- if(TARGET gflags::gflags_${libgflags_component})
- set_target_properties(
- google::glog PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES
+
+ if(gflags_FOUND)
+ if(NOT TARGET gflags::gflags_${libgflags_component}
+ AND NOT TARGET gflags_${libgflags_component})
+ message(
+ FATAL_ERROR
+ "Found Gflags but missing component gflags_${libgflags_component}")
+ endif()
+ if(TARGET gflags::gflags_${libgflags_component})
+ set_target_properties(
+ glog::glog PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES
gflags::gflags_${libgflags_component})
+ else()
+ set_target_properties(
+ glog::glog PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES
+ gflags_${libgflags_component})
+ endif()
else()
+ include(BuildGflags)
set_target_properties(
- google::glog PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES
- gflags_${libgflags_component})
+ glog::glog PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES gflags_static)
endif()
-else()
- include(BuildGflags)
- set_target_properties(
- google::glog PROPERTIES IMPORTED_LINK_INTERFACE_LIBRARIES gflags_static)
endif()
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index a441b0e56c..f732d9da44 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -80,6 +80,7 @@ endif()
set(GLUTEN_PREFIX_INCLUDE_DIRS)
if(CMAKE_INSTALL_PREFIX
+ AND NOT ENABLE_GLUTEN_VCPKG
AND NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr/local"
AND IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include")
list(APPEND GLUTEN_PREFIX_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include")
@@ -247,7 +248,7 @@ function(ADD_TEST_CASE TEST_NAME)
endif()
add_executable(${TEST_NAME} ${SOURCES})
- target_link_libraries(${TEST_NAME} gluten google::glog GTest::gtest
+ target_link_libraries(${TEST_NAME} gluten glog::glog GTest::gtest
GTest::gtest_main Threads::Threads)
target_include_directories(${TEST_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/core)
diff --git a/cpp/core/CMakeLists.txt b/cpp/core/CMakeLists.txt
index e0d82d4204..66c800595c 100644
--- a/cpp/core/CMakeLists.txt
+++ b/cpp/core/CMakeLists.txt
@@ -199,8 +199,10 @@ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
endif()
endif()
-find_arrow_lib(${ARROW_LIB_NAME})
-find_arrow_lib(${ARROW_BUNDLED_DEPS})
+if(NOT ENABLE_GLUTEN_VCPKG)
+ find_arrow_lib(${ARROW_LIB_NAME})
+ find_arrow_lib(${ARROW_BUNDLED_DEPS})
+endif()
if(ENABLE_QAT)
include(BuildQATzip)
@@ -249,9 +251,11 @@ if(BUILD_TESTS)
add_subdirectory(tests)
endif()
-target_link_libraries(gluten PUBLIC Arrow::arrow
- Arrow::arrow_bundled_dependencies)
-target_link_libraries(gluten PRIVATE google::glog)
+target_link_libraries(gluten PUBLIC Arrow::arrow)
+if(NOT ENABLE_GLUTEN_VCPKG)
+ target_link_libraries(gluten PUBLIC Arrow::arrow_bundled_dependencies)
+endif()
+target_link_libraries(gluten PRIVATE glog::glog)
install(TARGETS gluten DESTINATION ${CMAKE_INSTALL_LIBDIR})
diff --git a/cpp/velox/CMakeLists.txt b/cpp/velox/CMakeLists.txt
index 3926b0f252..550b1c92bf 100644
--- a/cpp/velox/CMakeLists.txt
+++ b/cpp/velox/CMakeLists.txt
@@ -247,6 +247,11 @@ endif()
add_library(velox SHARED ${VELOX_SRCS})
+if(ENABLE_GLUTEN_VCPKG)
+ find_package(xxHash CONFIG REQUIRED)
+ target_link_libraries(velox PUBLIC xxHash::xxhash)
+endif()
+
# Keep ABI sensitive Velox feature macros in sync
set(GLUTEN_VELOX_CMAKE_CACHE "${VELOX_BUILD_PATH}/CMakeCache.txt")
set(GLUTEN_VELOX_ENABLE_PARQUET ${VELOX_ENABLE_PARQUET})
@@ -336,6 +341,7 @@ if(BUILD_TESTS)
import_library(
facebook::velox::vector_test_lib
${VELOX_BUILD_PATH}/velox/vector/tests/utils/libvelox_vector_test_lib.a)
+ target_link_libraries(facebook::velox::vector_test_lib INTERFACE
GTest::gtest)
import_library(
facebook::velox::dwio_common_test
${VELOX_BUILD_PATH}/velox/dwio/common/tests/utils/libvelox_dwio_common_test_utils.a
@@ -343,12 +349,28 @@ if(BUILD_TESTS)
import_library(
facebook::velox::file_test_utils
${VELOX_BUILD_PATH}/velox/common/file/tests/libvelox_file_test_utils.a)
+ import_library(
+ facebook::velox::vector_fuzzer_util
+ ${VELOX_BUILD_PATH}/velox/vector/fuzzer/libvelox_vector_fuzzer_util.a)
+ import_library(
+ facebook::velox::constrained_vector_generator
+
${VELOX_BUILD_PATH}/velox/vector/fuzzer/libvelox_constrained_vector_generator.a
+ )
+ target_link_libraries(facebook::velox::constrained_vector_generator
+ INTERFACE facebook::velox::vector_fuzzer_util)
+ import_library(
+ facebook::velox::vector_fuzzer
+ ${VELOX_BUILD_PATH}/velox/vector/fuzzer/libvelox_vector_fuzzer.a)
+ target_link_libraries(
+ facebook::velox::vector_fuzzer
+ INTERFACE facebook::velox::vector_fuzzer_util
+ facebook::velox::constrained_vector_generator)
import_library(
facebook::velox::exec_test_lib
${VELOX_BUILD_PATH}/velox/exec/tests/utils/libvelox_exec_test_lib.a)
target_link_libraries(
facebook::velox::exec_test_lib
- INTERFACE facebook::velox::vector_test_lib
+ INTERFACE facebook::velox::vector_test_lib facebook::velox::vector_fuzzer
facebook::velox::dwio_common_test
facebook::velox::file_test_utils)
target_link_libraries(velox PUBLIC facebook::velox::exec_test_lib)
@@ -423,29 +445,9 @@ endif()
target_link_libraries(velox PUBLIC Folly::folly)
# Link thrift libraries - check vcpkg first, then fall back to system libraries
-# Determine vcpkg triplet directory based on architecture
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
- set(VCPKG_TRIPLET_DIR "x64-linux-avx")
-elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(aarch64)|(arm64)")
- set(VCPKG_TRIPLET_DIR "arm64-linux-neon")
-else()
- message(
- WARNING
- "Unknown processor type for vcpkg: ${CMAKE_SYSTEM_PROCESSOR}, defaulting
to x64-linux-avx"
- )
- set(VCPKG_TRIPLET_DIR "x64-linux-avx")
-endif()
-
-if(DEFINED VCPKG_INSTALLED_DIR
- AND EXISTS
"${VCPKG_INSTALLED_DIR}/${VCPKG_TRIPLET_DIR}/lib/libthriftcpp2.a")
- message(
- STATUS
- "Using vcpkg thrift libraries from
${VCPKG_INSTALLED_DIR}/${VCPKG_TRIPLET_DIR}"
- )
- target_link_libraries(
- velox
- PRIVATE ${VCPKG_INSTALLED_DIR}/${VCPKG_TRIPLET_DIR}/lib/libthriftcpp2.a
-
${VCPKG_INSTALLED_DIR}/${VCPKG_TRIPLET_DIR}/lib/libthriftprotocol.a)
+if(ENABLE_GLUTEN_VCPKG)
+ find_package(FBThrift CONFIG REQUIRED)
+ target_link_libraries(velox PUBLIC FBThrift::thriftcpp2)
else()
set(THRIFT_LIBRARY_DIRS)
if(CMAKE_INSTALL_PREFIX)
diff --git a/cpp/velox/benchmarks/CMakeLists.txt
b/cpp/velox/benchmarks/CMakeLists.txt
index 617ada6171..bb1c9d2d90 100644
--- a/cpp/velox/benchmarks/CMakeLists.txt
+++ b/cpp/velox/benchmarks/CMakeLists.txt
@@ -19,8 +19,7 @@ target_include_directories(
velox_benchmark_common PUBLIC ${CMAKE_SOURCE_DIR}/velox
${CMAKE_SOURCE_DIR}/core)
target_link_libraries(velox_benchmark_common PUBLIC velox benchmark::benchmark
- google::glog)
-
+ glog::glog)
function(add_velox_benchmark BM_EXEC BM_FILE)
add_executable(${BM_EXEC} ${BM_FILE})
target_link_libraries(${BM_EXEC} PRIVATE velox_benchmark_common)
diff --git a/cpp/velox/operators/writer/VeloxParquetDataSource.h
b/cpp/velox/operators/writer/VeloxParquetDataSource.h
index dac97168d5..cf51df1d5d 100644
--- a/cpp/velox/operators/writer/VeloxParquetDataSource.h
+++ b/cpp/velox/operators/writer/VeloxParquetDataSource.h
@@ -17,7 +17,6 @@
#pragma once
-#include <arrow/filesystem/filesystem.h>
#include <arrow/memory_pool.h>
#include <arrow/record_batch.h>
#include <arrow/type.h>
diff --git a/dev/builddep-veloxbe-inc.sh b/dev/builddep-veloxbe-inc.sh
index 9869690ca9..b40a82e7af 100755
--- a/dev/builddep-veloxbe-inc.sh
+++ b/dev/builddep-veloxbe-inc.sh
@@ -130,19 +130,7 @@ if [ "$UPDATE_VCPKG" = "ON" ]; then
echo "[Step 1/4] vcpkg dependencies updated."
else
step 1 "Skipping vcpkg check (use --update_vcpkg to update)"
- VCPKG_ROOT="$GLUTEN_DIR/dev/vcpkg/.vcpkg"
- export VCPKG_ROOT
-
- if [ "${CPU_TARGET:-}" = "aarch64" ]; then
- export VCPKG_TRIPLET="arm64-linux-neon"
- else
- export VCPKG_TRIPLET="x64-linux-avx"
- fi
-
- export
VCPKG_TRIPLET_INSTALL_DIR="$GLUTEN_DIR/dev/vcpkg/vcpkg_installed/${VCPKG_TRIPLET}"
- export CMAKE_TOOLCHAIN_FILE="$GLUTEN_DIR/dev/vcpkg/toolchain.cmake"
- export
PKG_CONFIG_PATH="${VCPKG_TRIPLET_INSTALL_DIR}/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
- export GLUTEN_VCPKG_ENABLED="${VCPKG_ROOT}"
+ source "$GLUTEN_DIR/dev/vcpkg/env.sh" --skip-install
fi
# Step 2: Build Velox
diff --git a/dev/builddeps-veloxbe.sh b/dev/builddeps-veloxbe.sh
index 91ecc343bc..11f351b787 100755
--- a/dev/builddeps-veloxbe.sh
+++ b/dev/builddeps-veloxbe.sh
@@ -46,6 +46,7 @@ VELOX_BRANCH=""
VELOX_HOME="$GLUTEN_DIR/ep/build-velox/build/velox_ep"
VELOX_PARAMETER=""
BUILD_ARROW=ON
+BUILD_ARROW_EXPLICIT=OFF
SPARK_VERSION=ALL
# set default number of threads as cpu cores minus 2
@@ -146,6 +147,7 @@ do
;;
--build_arrow=*)
BUILD_ARROW="${arg#*=}"
+ BUILD_ARROW_EXPLICIT=ON
shift # Remove argument name from processing
;;
--num_threads=*)
@@ -163,6 +165,18 @@ do
esac
done
+function vcpkg_is_active {
+ [ "$ENABLE_VCPKG" = "ON" ] || [ -n "${GLUTEN_VCPKG_ENABLED:-}" ]
+}
+
+if vcpkg_is_active; then
+ if [ "$BUILD_ARROW_EXPLICIT" = "ON" ] && [ "$BUILD_ARROW" = "ON" ]; then
+ echo "ERROR: --build_arrow=ON is deprecated with --enable_vcpkg=ON;
Arrow is managed by Gluten vcpkg." >&2
+ exit 1
+ fi
+ BUILD_ARROW=OFF
+fi
+
if [[ "$(uname)" == "Darwin" ]]; then
export INSTALL_PREFIX=${INSTALL_PREFIX:-${VELOX_HOME}/deps-install}
if [[ "$INSTALL_PREFIX" == "/usr/local" || "$INSTALL_PREFIX" ==
/usr/local/* ]]; then
@@ -228,6 +242,10 @@ concat_velox_param
export VELOX_HOME
function build_arrow {
+ if vcpkg_is_active; then
+ echo "ERROR: build_arrow is deprecated with --enable_vcpkg=ON; Arrow is
managed by Gluten vcpkg." >&2
+ return 1
+ fi
local GLUTEN_BUILD_TYPE="$BUILD_TYPE"
if [ ! -d "$VELOX_HOME" ]; then
get_velox
@@ -279,8 +297,10 @@ function build_gluten_cpp {
)
if [ -n "${INSTALL_PREFIX:-}" ]; then
- GLUTEN_CMAKE_OPTIONS+=("-DCMAKE_PREFIX_PATH=$INSTALL_PREFIX")
GLUTEN_CMAKE_OPTIONS+=("-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX")
+ if [ -z "${GLUTEN_VCPKG_ENABLED:-}" ]; then
+ GLUTEN_CMAKE_OPTIONS+=("-DCMAKE_PREFIX_PATH=$INSTALL_PREFIX")
+ fi
fi
if [ $OS == 'Darwin' ]; then
if [[ -n "${INSTALL_PREFIX:-}" && "${INSTALL_PREFIX:-}" != "/usr/local" &&
"${INSTALL_PREFIX:-}" != /usr/local/* ]]; then
diff --git a/dev/docker/Dockerfile.almalinux8-gcc13-static-build
b/dev/docker/Dockerfile.almalinux8-gcc13-static-build
index cee3d40e94..f41c7ecdd1 100644
--- a/dev/docker/Dockerfile.almalinux8-gcc13-static-build
+++ b/dev/docker/Dockerfile.almalinux8-gcc13-static-build
@@ -67,8 +67,7 @@ RUN set -ex; \
source /opt/rh/gcc-toolset-13/enable; \
cd /opt/gluten; \
export SSL_VERIFY=false; \
- bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON
--enable_s3=ON --enable_gcs=ON \
- --enable_hdfs=ON --enable_abfs=ON
build_arrow; \
+ bash ./dev/vcpkg/populate-static-image-cache.sh; \
./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta
-Pspark-3.5 -DskipTests; \
rm -rf /opt/gluten; \
rm -rf /root/.cache/ccache;
diff --git a/dev/docker/Dockerfile.centos7-gcc13-static-build
b/dev/docker/Dockerfile.centos7-gcc13-static-build
index 3083b96536..f3292c1c81 100644
--- a/dev/docker/Dockerfile.centos7-gcc13-static-build
+++ b/dev/docker/Dockerfile.centos7-gcc13-static-build
@@ -46,10 +46,9 @@ RUN set -ex; \
yum remove gcc -y && yum clean all; \
yes | cp -rf /usr/share/aclocal/* /usr/local/share/aclocal/; \
mkdir -p ${VCPKG_PATH}; \
- echo "Build arrow, then install the native libs to system paths and jar
package to .m2/ directory."; \
+ echo "vcpkg installs the native dependencies and Maven resolves Java
dependencies."; \
cd /opt/gluten; \
- bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON
--enable_s3=ON --enable_gcs=ON \
- --enable_hdfs=ON --enable_abfs=ON
build_arrow; \
+ bash ./dev/vcpkg/populate-static-image-cache.sh; \
./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta
-Pspark-3.5 -DskipTests; \
dnf clean all; \
rm -rf /opt/gluten; \
diff --git a/dev/docker/Dockerfile.centos7-static-build
b/dev/docker/Dockerfile.centos7-static-build
index 923636961c..25b7d798e8 100644
--- a/dev/docker/Dockerfile.centos7-static-build
+++ b/dev/docker/Dockerfile.centos7-static-build
@@ -42,12 +42,11 @@ RUN set -ex; \
echo "check_certificate = off" >> ~/.wgetrc; \
cd /opt/gluten && bash ./dev/vcpkg/setup-build-depends.sh; \
mkdir -p ${VCPKG_PATH}; \
- echo "Build arrow, then install the native libs to system paths and jar
package to .m2/ directory."; \
+ echo "vcpkg installs the native dependencies and Maven resolves Java
dependencies."; \
cd /opt/gluten; \
source /opt/rh/devtoolset-11/enable; \
source /opt/rh/rh-git227/enable; \
- bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON
--enable_s3=ON --enable_gcs=ON \
- --enable_hdfs=ON --enable_abfs=ON
build_arrow; \
+ bash ./dev/vcpkg/populate-static-image-cache.sh; \
./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta
-Pspark-3.5 -DskipTests; \
dnf clean all; \
rm -rf /opt/gluten; \
diff --git a/dev/docker/Dockerfile.centos8-gcc13-static-build
b/dev/docker/Dockerfile.centos8-gcc13-static-build
index 3d608dbe0c..47ee6e3d39 100644
--- a/dev/docker/Dockerfile.centos8-gcc13-static-build
+++ b/dev/docker/Dockerfile.centos8-gcc13-static-build
@@ -39,14 +39,13 @@ RUN set -ex; \
dnf clean all; \
git clone --depth=1 --branch "${GLUTEN_BRANCH}" "${GLUTEN_REPO}"
/opt/gluten; \
mkdir -p ${VCPKG_PATH}; \
- echo "Build arrow, then install the native libs to system paths and jar
package to .m2/ directory."; \
+ echo "vcpkg installs the native dependencies and Maven resolves Java
dependencies."; \
if [ "$(uname -m)" = "aarch64" ]; then \
export CPU_TARGET="aarch64"; \
export VCPKG_FORCE_SYSTEM_BINARIES=1; \
fi; \
cd /opt/gluten; \
- bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON
--enable_s3=ON --enable_gcs=ON \
- --enable_hdfs=ON --enable_abfs=ON
build_arrow; \
+ bash ./dev/vcpkg/populate-static-image-cache.sh; \
./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta
-Pspark-3.5 -DskipTests; \
rm -rf /opt/gluten; \
rm -rf /root/.cache/ccache;
diff --git a/dev/docker/Dockerfile.centos8-static-build
b/dev/docker/Dockerfile.centos8-static-build
index f689af54a9..c4e77d3c1f 100644
--- a/dev/docker/Dockerfile.centos8-static-build
+++ b/dev/docker/Dockerfile.centos8-static-build
@@ -39,7 +39,7 @@ RUN set -ex; \
git clone --depth=1 --branch "${GLUTEN_BRANCH}" "${GLUTEN_REPO}"
/opt/gluten; \
cd /opt/gluten && bash ./dev/vcpkg/setup-build-depends.sh; \
mkdir -p ${VCPKG_PATH}; \
- echo "Build arrow, then install the native libs to system paths and jar
package to .m2/ directory."; \
+ echo "vcpkg installs the native dependencies and Maven resolves Java
dependencies."; \
if [ "$(uname -m)" = "aarch64" ]; then \
export CPU_TARGET="aarch64"; \
export VCPKG_FORCE_SYSTEM_BINARIES=1; \
@@ -47,8 +47,7 @@ RUN set -ex; \
source /opt/rh/gcc-toolset-11/enable; \
cd /opt/gluten; \
export SSL_VERIFY=false; \
- bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON
--enable_s3=ON --enable_gcs=ON \
- --enable_hdfs=ON --enable_abfs=ON
build_arrow; \
+ bash ./dev/vcpkg/populate-static-image-cache.sh; \
./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta
-Pspark-3.5 -DskipTests; \
rm -rf /opt/gluten; \
rm -rf /root/.cache/ccache;
diff --git a/dev/docker/Dockerfile.centos9-static-build
b/dev/docker/Dockerfile.centos9-static-build
index b8581cbe65..438e333d80 100644
--- a/dev/docker/Dockerfile.centos9-static-build
+++ b/dev/docker/Dockerfile.centos9-static-build
@@ -35,15 +35,14 @@ RUN set -ex; \
git clone --depth=1 --branch "${GLUTEN_BRANCH}" "${GLUTEN_REPO}"
/opt/gluten; \
cd /opt/gluten && bash ./dev/vcpkg/setup-build-depends.sh; \
mkdir -p ${VCPKG_PATH}; \
- echo "Build arrow, then install the native libs to system paths and jar
package to .m2/ directory."; \
+ echo "vcpkg installs the native dependencies and Maven resolves Java
dependencies."; \
if [ "$(uname -m)" = "aarch64" ]; then \
export CPU_TARGET="aarch64"; \
export VCPKG_FORCE_SYSTEM_BINARIES=1; \
fi; \
source /opt/rh/gcc-toolset-12/enable; \
cd /opt/gluten; \
- bash ./dev/builddeps-veloxbe.sh --enable_vcpkg=ON --build_tests=ON
--enable_s3=ON --enable_gcs=ON \
- --enable_hdfs=ON --enable_abfs=ON
build_arrow; \
+ bash ./dev/vcpkg/populate-static-image-cache.sh; \
./build/mvn dependency:go-offline -Pbackends-velox -Piceberg -Pdelta
-Pspark-3.5 -DskipTests; \
rm -rf /opt/gluten; \
rm -rf /root/.cache/ccache;
diff --git a/dev/vcpkg/env.sh b/dev/vcpkg/env.sh
index a86a953e2b..d2cfc3739d 100755
--- a/dev/vcpkg/env.sh
+++ b/dev/vcpkg/env.sh
@@ -29,7 +29,12 @@ export VCPKG="$SCRIPT_ROOT/.vcpkg/vcpkg"
export VCPKG_TRIPLET=$([ "${CPU_TARGET:-}" = "aarch64" ] && echo
"arm64-linux-neon" || echo "x64-linux-avx")
export
VCPKG_TRIPLET_INSTALL_DIR=${SCRIPT_ROOT}/vcpkg_installed/${VCPKG_TRIPLET}
-${SCRIPT_ROOT}/init.sh "$@"
+unset PKG_CONFIG_PATH
+export
PKG_CONFIG_LIBDIR=${VCPKG_TRIPLET_INSTALL_DIR}/lib/pkgconfig:${VCPKG_TRIPLET_INSTALL_DIR}/share/pkgconfig
+
+if [ "${1:-}" != "--skip-install" ]; then
+ ${SCRIPT_ROOT}/init.sh "$@"
+fi
if [ "${GLUTEN_VCPKG_ENABLED:-}" != "${VCPKG_ROOT}" ]; then
EXPORT_TOOLS_PATH="${VCPKG_TRIPLET_INSTALL_DIR}/tools/protobuf"
@@ -45,9 +50,7 @@ if [ "${GLUTEN_VCPKG_ENABLED:-}" != "${VCPKG_ROOT}" ]; then
export VCPKG_ROOT=${VCPKG_ROOT}
export VCPKG_MANIFEST_DIR=${SCRIPT_ROOT}
export VCPKG_TRIPLET=${VCPKG_TRIPLET}
-
export CMAKE_TOOLCHAIN_FILE=${SCRIPT_ROOT}/toolchain.cmake
- export
PKG_CONFIG_PATH=${VCPKG_TRIPLET_INSTALL_DIR}/lib/pkgconfig:${VCPKG_TRIPLET_INSTALL_DIR}/share/pkgconfig:${PKG_CONFIG_PATH:-}
export PATH="${EXPORT_TOOLS_PATH}:$PATH"
export GLUTEN_VCPKG_ENABLED=${VCPKG_ROOT}
diff --git a/dev/vcpkg/populate-static-image-cache.sh
b/dev/vcpkg/populate-static-image-cache.sh
new file mode 100755
index 0000000000..4b2061c205
--- /dev/null
+++ b/dev/vcpkg/populate-static-image-cache.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+
+# 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.
+
+set -e
+
+SCRIPT_ROOT="$(realpath "$(dirname "${BASH_SOURCE[0]}")")"
+source "$SCRIPT_ROOT/env.sh" --build_tests=ON --enable_s3=ON --enable_gcs=ON \
+ --enable_hdfs=ON --enable_abfs=ON
diff --git a/dev/vcpkg/ports/arrow/android.patch
b/dev/vcpkg/ports/arrow/android.patch
new file mode 100644
index 0000000000..4eb412d1a5
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/android.patch
@@ -0,0 +1,27 @@
+diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt
+index 6dc8358..2b91efa 100644
+--- a/cpp/src/arrow/CMakeLists.txt
++++ b/cpp/src/arrow/CMakeLists.txt
+@@ -166,7 +166,7 @@ if(WIN32)
+ list(APPEND ARROW_SYSTEM_LINK_LIBS "ws2_32")
+ endif()
+
+-if(NOT WIN32 AND NOT APPLE)
++if(NOT WIN32 AND NOT APPLE AND NOT ANDROID)
+ # Pass -lrt on Linux only
+ list(APPEND ARROW_SYSTEM_LINK_LIBS rt)
+ endif()
+diff --git a/cpp/src/arrow/vendored/musl/strptime.c
b/cpp/src/arrow/vendored/musl/strptime.c
+index 41912fd..0ea36e9 100644
+--- a/cpp/src/arrow/vendored/musl/strptime.c
++++ b/cpp/src/arrow/vendored/musl/strptime.c
+@@ -18,7 +18,9 @@
+ #undef HAVE_LANGINFO
+
+ #ifndef _WIN32
++# if !(defined(__ANDROID__) && __ANDROID_API__ < 26)
+ #define HAVE_LANGINFO 1
++# endif
+ #endif
+
+ #ifdef HAVE_LANGINFO
diff --git a/dev/vcpkg/ports/arrow/arrow-testing-boost.patch
b/dev/vcpkg/ports/arrow/arrow-testing-boost.patch
new file mode 100644
index 0000000000..a3ef926756
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/arrow-testing-boost.patch
@@ -0,0 +1,64 @@
+# 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.
+
+# This patch replaces Boost::process (header-only, no CMake target) with
+# Boost::filesystem and Boost::system (the actual libraries it would have
linked)
+# Based on https://github.com/apache/arrow/pull/45424
+
+diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+index db151b4..1da99f1 100644
+--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+@@ -1266,13 +1266,19 @@ endif()
+ # - Gandiva has a compile-time (header-only) dependency on Boost, not runtime.
+ # - Tests need Boost at runtime.
+ # - S3FS and Flight benchmarks need Boost at runtime.
++# - arrow_testing uses boost::filesystem. So arrow_testing requires
++# Boost library. (boost::filesystem isn't header-only.) But if we
++# use arrow_testing as a static library without
++# using arrow::util::Process, we don't need boost::filesystem.
+ if(ARROW_BUILD_INTEGRATION
+ OR ARROW_BUILD_TESTS
+ OR (ARROW_FLIGHT AND (ARROW_TESTING OR ARROW_BUILD_BENCHMARKS))
+- OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS))
++ OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS)
++ OR (ARROW_TESTING AND ARROW_BUILD_SHARED))
+ set(ARROW_USE_BOOST TRUE)
+ set(ARROW_BOOST_REQUIRE_LIBRARY TRUE)
+ elseif(ARROW_GANDIVA
++ OR ARROW_TESTING
+ OR ARROW_WITH_THRIFT
+ OR (NOT ARROW_USE_NATIVE_INT128))
+ set(ARROW_USE_BOOST TRUE)
+diff --git a/cpp/src/arrow/CMakeLists.txt b/cpp/src/arrow/CMakeLists.txt
+index c911f0f..84673d4 100644
+--- a/cpp/src/arrow/CMakeLists.txt
++++ b/cpp/src/arrow/CMakeLists.txt
+@@ -645,11 +645,11 @@ else()
+ endif()
+
+ set(ARROW_TESTING_SHARED_LINK_LIBS arrow_shared ${ARROW_GTEST_GTEST})
+-set(ARROW_TESTING_SHARED_PRIVATE_LINK_LIBS arrow::flatbuffers RapidJSON
Boost::process)
++set(ARROW_TESTING_SHARED_PRIVATE_LINK_LIBS arrow::flatbuffers RapidJSON
Boost::filesystem Boost::system)
+ set(ARROW_TESTING_STATIC_LINK_LIBS
+ arrow::flatbuffers
+ RapidJSON
+- Boost::process
++ Boost::filesystem Boost::system
+ arrow_static
+ ${ARROW_GTEST_GTEST})
+ set(ARROW_TESTING_SHARED_INSTALL_INTERFACE_LIBS Arrow::arrow_shared)
diff --git a/dev/vcpkg/ports/arrow/arrow-testing-static-boost.patch
b/dev/vcpkg/ports/arrow/arrow-testing-static-boost.patch
new file mode 100644
index 0000000000..c87382699c
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/arrow-testing-static-boost.patch
@@ -0,0 +1,38 @@
+# 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.
+
+diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
++++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
+@@ -1267,15 +1267,12 @@ endif()
+ # - Gandiva has a compile-time (header-only) dependency on Boost, not runtime.
+ # - Tests need Boost at runtime.
+ # - S3FS and Flight benchmarks need Boost at runtime.
+-# - arrow_testing uses boost::filesystem. So arrow_testing requires
+-# Boost library. (boost::filesystem isn't header-only.) But if we
+-# use arrow_testing as a static library without
+-# using arrow::util::Process, we don't need boost::filesystem.
++# - arrow_testing directly links Boost::filesystem and Boost::system.
+ if(ARROW_BUILD_INTEGRATION
+ OR ARROW_BUILD_TESTS
+ OR (ARROW_FLIGHT AND (ARROW_TESTING OR ARROW_BUILD_BENCHMARKS))
+ OR (ARROW_S3 AND ARROW_BUILD_BENCHMARKS)
+- OR (ARROW_TESTING AND ARROW_BUILD_SHARED))
++ OR ARROW_TESTING)
+ set(ARROW_USE_BOOST TRUE)
+ set(ARROW_BOOST_REQUIRE_LIBRARY TRUE)
+ elseif(ARROW_GANDIVA
diff --git a/dev/vcpkg/ports/arrow/msvc-static-name.patch
b/dev/vcpkg/ports/arrow/msvc-static-name.patch
new file mode 100644
index 0000000000..61d99ebac5
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/msvc-static-name.patch
@@ -0,0 +1,13 @@
+diff --git a/cpp/cmake_modules/BuildUtils.cmake
b/cpp/cmake_modules/BuildUtils.cmake
+index 391c43e0a..50f6d3d3c 100644
+--- a/cpp/cmake_modules/BuildUtils.cmake
++++ b/cpp/cmake_modules/BuildUtils.cmake
+@@ -427,7 +427,7 @@ function(ADD_ARROW_LIB LIB_NAME)
+ target_include_directories(${LIB_NAME}_static PRIVATE
${ARG_PRIVATE_INCLUDES})
+ endif()
+
+- if(MSVC_TOOLCHAIN)
++ if(MSVC_TOOLCHAIN AND 0)
+ set(LIB_NAME_STATIC ${LIB_NAME}_static)
+ else()
+ set(LIB_NAME_STATIC ${LIB_NAME})
diff --git a/dev/vcpkg/ports/arrow/portfile.cmake
b/dev/vcpkg/ports/arrow/portfile.cmake
new file mode 100644
index 0000000000..993c27dbed
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/portfile.cmake
@@ -0,0 +1,154 @@
+vcpkg_download_distfile(
+ ARCHIVE_PATH
+ URLS
"https://archive.apache.org/dist/arrow/arrow-${VERSION}/apache-arrow-${VERSION}.tar.gz"
+ FILENAME apache-arrow-${VERSION}.tar.gz
+ SHA512
4df30ab5561da695eaa864422626b9898555d86ca56835c3b8a8ca93a1dbaf081582bb36e2440d1daf7e1dd48c76941f1152a4f25ce0dbcc1c2abe244a00c05e
+)
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE ${ARCHIVE_PATH}
+ PATCHES
+ # Patches inherited from the vcpkg Arrow 18.1.0 port.
+ android.patch
+ msvc-static-name.patch
+ utf8proc.patch
+ thrift.patch
+ # Patches required by Velox's static arrow_testing dependency.
+ arrow-testing-boost.patch
+ arrow-testing-static-boost.patch
+)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ acero ARROW_ACERO
+ compute ARROW_COMPUTE
+ csv ARROW_CSV
+ cuda ARROW_CUDA
+ dataset ARROW_DATASET
+ filesystem ARROW_FILESYSTEM
+ flight ARROW_FLIGHT
+ flightsql ARROW_FLIGHT_SQL
+ gcs ARROW_GCS
+ jemalloc ARROW_JEMALLOC
+ json ARROW_JSON
+ mimalloc ARROW_MIMALLOC
+ orc ARROW_ORC
+ parquet ARROW_PARQUET
+ parquet PARQUET_REQUIRE_ENCRYPTION
+ s3 ARROW_S3
+ testing ARROW_TESTING
+)
+
+if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
+ list(APPEND FEATURE_OPTIONS "-DARROW_USE_NATIVE_INT128=OFF")
+endif()
+
+string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic" ARROW_BUILD_SHARED)
+string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "static" ARROW_BUILD_STATIC)
+string(COMPARE EQUAL ${VCPKG_LIBRARY_LINKAGE} "dynamic"
ARROW_DEPENDENCY_USE_SHARED)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/cpp"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DARROW_BUILD_SHARED=${ARROW_BUILD_SHARED}
+ -DARROW_BUILD_STATIC=${ARROW_BUILD_STATIC}
+ -DARROW_BUILD_TESTS=OFF
+ -DARROW_DEPENDENCY_SOURCE=SYSTEM
+ -DARROW_DEPENDENCY_USE_SHARED=${ARROW_DEPENDENCY_USE_SHARED}
+ -DARROW_PACKAGE_KIND=vcpkg
+ -DARROW_WITH_BROTLI=OFF
+ -DARROW_WITH_BZ2=OFF
+ -DARROW_WITH_LZ4=ON
+ -DARROW_WITH_SNAPPY=ON
+ -DARROW_WITH_ZLIB=ON
+ -DARROW_WITH_ZSTD=ON
+ -DBUILD_WARNING_LEVEL=PRODUCTION
+ -DZSTD_MSVC_LIB_PREFIX=
+ MAYBE_UNUSED_VARIABLES
+ ZSTD_MSVC_LIB_PREFIX
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_pkgconfig()
+
+if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/arrow_static.lib")
+ message(FATAL_ERROR "Installed lib file should be named 'arrow.lib' via
patching the upstream build.")
+endif()
+
+if("dataset" IN_LIST FEATURES)
+ vcpkg_cmake_config_fixup(
+ PACKAGE_NAME arrowdataset
+ CONFIG_PATH lib/cmake/ArrowDataset
+ DO_NOT_DELETE_PARENT_CONFIG_PATH
+ )
+endif()
+
+if("acero" IN_LIST FEATURES)
+ vcpkg_cmake_config_fixup(
+ PACKAGE_NAME arrowacero
+ CONFIG_PATH lib/cmake/ArrowAcero
+ DO_NOT_DELETE_PARENT_CONFIG_PATH
+ )
+endif()
+
+if("flight" IN_LIST FEATURES)
+ vcpkg_cmake_config_fixup(
+ PACKAGE_NAME ArrowFlight
+ CONFIG_PATH lib/cmake/ArrowFlight
+ DO_NOT_DELETE_PARENT_CONFIG_PATH
+ )
+endif()
+
+if("flightsql" IN_LIST FEATURES)
+ vcpkg_cmake_config_fixup(
+ PACKAGE_NAME ArrowFlightSql
+ CONFIG_PATH lib/cmake/ArrowFlightSql
+ DO_NOT_DELETE_PARENT_CONFIG_PATH
+ )
+endif()
+
+if("parquet" IN_LIST FEATURES)
+ vcpkg_cmake_config_fixup(
+ PACKAGE_NAME parquet
+ CONFIG_PATH lib/cmake/Parquet
+ DO_NOT_DELETE_PARENT_CONFIG_PATH
+ )
+endif()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Arrow)
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION
"${CURRENT_PACKAGES_DIR}/share/${PORT}")
+if("parquet" IN_LIST FEATURES)
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-parquet" usage-parquet)
+ file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage"
"${usage-parquet}")
+endif()
+if("dataset" IN_LIST FEATURES)
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-dataset" usage-dataset)
+ file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage"
"${usage-dataset}")
+endif()
+if("acero" IN_LIST FEATURES)
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-acero" usage-acero)
+ file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" "${usage-acero}")
+endif()
+
+if("flight" IN_LIST FEATURES)
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-flight" usage-flight)
+ file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage"
"${usage-flight}")
+endif()
+
+if("flightsql" IN_LIST FEATURES)
+ file(READ "${CMAKE_CURRENT_LIST_DIR}/usage-flightsql" usage-flightsql)
+ file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage"
"${usage-flightsql}")
+endif()
+
+if("example" IN_LIST FEATURES)
+ file(INSTALL "${SOURCE_PATH}/cpp/examples/minimal_build/" DESTINATION
"${CURRENT_PACKAGES_DIR}/share/${PORT}/example")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
diff --git a/dev/vcpkg/ports/arrow/thrift.patch
b/dev/vcpkg/ports/arrow/thrift.patch
new file mode 100644
index 0000000000..ae284d65b8
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/thrift.patch
@@ -0,0 +1,22 @@
+diff --git a/cpp/cmake_modules/FindThriftAlt.cmake
b/cpp/cmake_modules/FindThriftAlt.cmake
+index f3e4902..65ceac8 100644
+--- a/cpp/cmake_modules/FindThriftAlt.cmake
++++ b/cpp/cmake_modules/FindThriftAlt.cmake
+@@ -45,7 +45,7 @@ endif()
+ # * https://github.com/apache/thrift/pull/2725
+ # * https://github.com/apache/thrift/pull/2726
+ # * https://github.com/conda-forge/thrift-cpp-feedstock/issues/68
+-if(NOT WIN32)
++
+ set(find_package_args "")
+ if(ThriftAlt_FIND_VERSION)
+ list(APPEND find_package_args ${ThriftAlt_FIND_VERSION})
+@@ -61,7 +61,7 @@ if(NOT WIN32)
+ "${THRIFT_COMPILER}")
+ return()
+ endif()
+-endif()
++
+
+ function(extract_thrift_version)
+ if(ThriftAlt_INCLUDE_DIR)
diff --git a/dev/vcpkg/ports/arrow/usage b/dev/vcpkg/ports/arrow/usage
new file mode 100644
index 0000000000..b07f1c9c32
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/usage
@@ -0,0 +1,4 @@
+The package arrow provides CMake targets:
+
+ find_package(Arrow CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
"$<IF:$<BOOL:${ARROW_BUILD_STATIC}>,Arrow::arrow_static,Arrow::arrow_shared>")
diff --git a/dev/vcpkg/ports/arrow/usage-acero
b/dev/vcpkg/ports/arrow/usage-acero
new file mode 100644
index 0000000000..05c4776b79
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/usage-acero
@@ -0,0 +1,3 @@
+
+ find_package(ArrowAcero CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
"$<IF:$<BOOL:${ARROW_BUILD_STATIC}>,ArrowAcero::arrow_acero_static,ArrowAcero::arrow_acero_shared>")
diff --git a/dev/vcpkg/ports/arrow/usage-dataset
b/dev/vcpkg/ports/arrow/usage-dataset
new file mode 100644
index 0000000000..8bedfb8324
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/usage-dataset
@@ -0,0 +1,3 @@
+
+ find_package(ArrowDataset CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
"$<IF:$<BOOL:${ARROW_BUILD_STATIC}>,ArrowDataset::arrow_dataset_static,ArrowDataset::arrow_dataset_shared>")
diff --git a/dev/vcpkg/ports/arrow/usage-flight
b/dev/vcpkg/ports/arrow/usage-flight
new file mode 100644
index 0000000000..c9656253f9
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/usage-flight
@@ -0,0 +1,3 @@
+
+ find_package(ArrowFlight CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
"$<IF:$<BOOL:${ARROW_BUILD_STATIC}>,ArrowFlight::arrow_flight_static,ArrowFlight::arrow_flight_shared>")
diff --git a/dev/vcpkg/ports/arrow/usage-flightsql
b/dev/vcpkg/ports/arrow/usage-flightsql
new file mode 100644
index 0000000000..3159c05903
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/usage-flightsql
@@ -0,0 +1,3 @@
+
+ find_package(ArrowFlightSql CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
"$<IF:$<BOOL:${ARROW_BUILD_STATIC}>,ArrowFlightSql::arrow_flight_sql_static,ArrowFlightSql::arrow_flight_sql_shared>")
diff --git a/dev/vcpkg/ports/arrow/usage-parquet
b/dev/vcpkg/ports/arrow/usage-parquet
new file mode 100644
index 0000000000..ce04039a64
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/usage-parquet
@@ -0,0 +1,3 @@
+
+ find_package(Parquet CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE
"$<IF:$<BOOL:${ARROW_BUILD_STATIC}>,Parquet::parquet_static,Parquet::parquet_shared>")
diff --git a/dev/vcpkg/ports/arrow/utf8proc.patch
b/dev/vcpkg/ports/arrow/utf8proc.patch
new file mode 100644
index 0000000000..eea9ca59e2
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/utf8proc.patch
@@ -0,0 +1,13 @@
+diff --git a/cpp/cmake_modules/Findutf8proc.cmake
b/cpp/cmake_modules/Findutf8proc.cmake
+index e347414..83f2aa1 100644
+--- a/cpp/cmake_modules/Findutf8proc.cmake
++++ b/cpp/cmake_modules/Findutf8proc.cmake
+@@ -30,7 +30,7 @@ if(ARROW_PACKAGE_KIND STREQUAL "vcpkg")
+ if(utf8proc_FIND_REQUIRED)
+ list(APPEND find_package_args REQUIRED)
+ endif()
+- find_package(utf8proc NAMES unofficial-utf8proc ${find_package_args})
++ find_package(utf8proc NAMES unofficial-utf8proc)
+ if(utf8proc_FOUND)
+ add_library(utf8proc::utf8proc ALIAS utf8proc)
+ return()
diff --git a/dev/vcpkg/ports/arrow/vcpkg.json b/dev/vcpkg/ports/arrow/vcpkg.json
new file mode 100644
index 0000000000..059c33fe7d
--- /dev/null
+++ b/dev/vcpkg/ports/arrow/vcpkg.json
@@ -0,0 +1,149 @@
+{
+ "name": "arrow",
+ "version": "18.0.0",
+ "description": "Cross-language development platform for in-memory analytics",
+ "homepage": "https://arrow.apache.org",
+ "license": "Apache-2.0",
+ "supports": "x64 | (arm64 & !windows)",
+ "dependencies": [
+ "boost-filesystem",
+ "boost-multiprecision",
+ "boost-system",
+ "gflags",
+ "lz4",
+ "openssl",
+ "re2",
+ "snappy",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "xsimd",
+ "zlib",
+ "zstd"
+ ],
+ "default-features": [
+ "csv",
+ "filesystem",
+ "json",
+ "parquet"
+ ],
+ "features": {
+ "acero": {
+ "description": "Acero support"
+ },
+ "compute": {
+ "description": "Build all computational kernel functions",
+ "dependencies": [
+ "utf8proc"
+ ]
+ },
+ "csv": {
+ "description": "CSV support"
+ },
+ "cuda": {
+ "description": "cuda support",
+ "dependencies": [
+ "cuda"
+ ]
+ },
+ "dataset": {
+ "description": "Dataset support"
+ },
+ "example": {
+ "description": "Install the minimal example (source code)"
+ },
+ "filesystem": {
+ "description": "Filesystem support"
+ },
+ "flight": {
+ "description": "Arrow Flight RPC support",
+ "dependencies": [
+ "abseil",
+ "c-ares",
+ "grpc",
+ "protobuf"
+ ]
+ },
+ "flightsql": {
+ "description": "FlightSQL support",
+ "dependencies": [
+ {
+ "name": "arrow",
+ "default-features": false,
+ "features": [
+ "flight"
+ ]
+ }
+ ]
+ },
+ "gcs": {
+ "description": "GCS support",
+ "dependencies": [
+ {
+ "name": "google-cloud-cpp",
+ "default-features": false,
+ "features": [
+ "storage"
+ ]
+ }
+ ]
+ },
+ "jemalloc": {
+ "description": "jemalloc allocator",
+ "supports": "!windows"
+ },
+ "json": {
+ "description": "JSON support",
+ "dependencies": [
+ "rapidjson"
+ ]
+ },
+ "mimalloc": {
+ "description": "mimalloc allocator",
+ "supports": "windows"
+ },
+ "orc": {
+ "description": "ORC support",
+ "dependencies": [
+ "orc"
+ ]
+ },
+ "parquet": {
+ "description": "Parquet support",
+ "dependencies": [
+ "rapidjson",
+ "thrift"
+ ]
+ },
+ "s3": {
+ "description": "S3 support",
+ "dependencies": [
+ {
+ "name": "aws-sdk-cpp",
+ "default-features": false,
+ "features": [
+ "cognito-identity",
+ "config",
+ "identity-management",
+ "s3",
+ "sts",
+ "transfer"
+ ]
+ }
+ ]
+ },
+ "testing": {
+ "description": "Build the Arrow testing support library",
+ "dependencies": [
+ "boost-process",
+ "gtest",
+ "rapidjson"
+ ]
+ }
+ }
+}
diff --git a/dev/vcpkg/toolchain.cmake b/dev/vcpkg/toolchain.cmake
index f4db8e7af5..52aebad399 100644
--- a/dev/vcpkg/toolchain.cmake
+++ b/dev/vcpkg/toolchain.cmake
@@ -33,11 +33,30 @@ set(VCPKG_HOST_TRIPLET $ENV{VCPKG_TRIPLET})
set(VCPKG_INSTALLED_DIR $ENV{VCPKG_MANIFEST_DIR}/vcpkg_installed)
set(VCPKG_INSTALL_OPTIONS --no-print-usage)
-# Force read CMAKE_PREFIX_PATH from env
-set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
-
include($ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake)
+if(NOT DEFINED CMAKE_FIND_PACKAGE_PREFER_CONFIG)
+ set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
+endif()
+set(CMAKE_FIND_PACKAGE_PREFER_CONFIG "${CMAKE_FIND_PACKAGE_PREFER_CONFIG}"
CACHE BOOL
+ "Prefer package configuration files." FORCE)
+set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY CACHE STRING "Search for packages
only in root paths." FORCE)
+set(CMAKE_FIND_USE_PACKAGE_REGISTRY OFF CACHE BOOL "Disable the user package
registry." FORCE)
+set(CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY OFF CACHE BOOL "Disable the system
package registry." FORCE)
+
+set(_GLUTEN_VCPKG_IGNORED_PREFIXES /usr/local)
+if(APPLE)
+ list(APPEND _GLUTEN_VCPKG_IGNORED_PREFIXES /opt/homebrew /opt/local)
+endif()
+if(NOT "$ENV{CONDA_PREFIX}" STREQUAL "")
+ list(APPEND _GLUTEN_VCPKG_IGNORED_PREFIXES "$ENV{CONDA_PREFIX}")
+endif()
+list(APPEND CMAKE_IGNORE_PREFIX_PATH ${_GLUTEN_VCPKG_IGNORED_PREFIXES})
+list(REMOVE_DUPLICATES CMAKE_IGNORE_PREFIX_PATH)
+set(CMAKE_IGNORE_PREFIX_PATH "${CMAKE_IGNORE_PREFIX_PATH}" CACHE STRING
+ "Prefixes ignored by Gluten's vcpkg toolchain." FORCE)
+unset(_GLUTEN_VCPKG_IGNORED_PREFIXES)
+
set(CMAKE_EXE_LINKER_FLAGS "-static-libstdc++ -static-libgcc")
set(CMAKE_SHARED_LINKER_FLAGS "-static-libstdc++ -static-libgcc")
diff --git a/dev/vcpkg/vcpkg-configuration.json
b/dev/vcpkg/vcpkg-configuration.json
index ba7c7f58b3..a7aa80d84e 100644
--- a/dev/vcpkg/vcpkg-configuration.json
+++ b/dev/vcpkg/vcpkg-configuration.json
@@ -3,6 +3,12 @@
"overlay-ports": [ "./ports" ],
"overlay-triplets": [ "./triplets" ],
"registries": [
+ {
+ "kind": "git",
+ "repository": "https://github.com/Microsoft/vcpkg",
+ "baseline": "bcf3d00d2116056fda0ce47615f6074ffecb7524",
+ "packages": [ "boost", "boost-*"]
+ },
{
"kind": "git",
"repository": "https://github.com/Microsoft/vcpkg",
diff --git a/dev/vcpkg/vcpkg.json b/dev/vcpkg/vcpkg.json
index 2f62d1bf26..a7ad399b50 100644
--- a/dev/vcpkg/vcpkg.json
+++ b/dev/vcpkg/vcpkg.json
@@ -12,6 +12,11 @@
"lz4",
"double-conversion",
"bzip2",
+ {
+ "name": "arrow",
+ "default-features": false,
+ "features": ["testing"]
+ },
"curl",
"lzo",
"re2",
diff --git a/ep/build-velox/src/build-velox.sh
b/ep/build-velox/src/build-velox.sh
index 8b8fd32ca6..95d6c959f1 100755
--- a/ep/build-velox/src/build-velox.sh
+++ b/ep/build-velox/src/build-velox.sh
@@ -120,7 +120,7 @@ function compile {
-Wno-error=uninitialized -Wno-unknown-warning-option
-Wno-deprecated-declarations'
if [[ "$(uname)" == "Darwin" ]]; then
CXX_FLAGS="$CXX_FLAGS -Wno-inconsistent-missing-override
-Wno-macro-redefined"
- if [[ -n "${INSTALL_PREFIX:-}" && "${INSTALL_PREFIX:-}" != "/usr/local" &&
"${INSTALL_PREFIX:-}" != /usr/local/* ]]; then
+ if [[ -z "${GLUTEN_VCPKG_ENABLED:-}" && -n "${INSTALL_PREFIX:-}" &&
"${INSTALL_PREFIX:-}" != "/usr/local" && "${INSTALL_PREFIX:-}" != /usr/local/*
]]; then
# Add the dependency prefix as a system include: this finds deps that
only
# publish loose headers (e.g. xsimd) and demotes warnings in vendored
# dependency headers (abseil's __is_trivially_relocatable, arrow's
vendored
@@ -134,7 +134,10 @@ function compile {
-DVELOX_MONO_LIBRARY=ON -DVELOX_BUILD_RUNNER=OFF
-DVELOX_SIMDJSON_SKIPUTF8VALIDATION=ON \
-DVELOX_ENABLE_GEO=OFF"
if [ -n "${INSTALL_PREFIX:-}" ]; then
- COMPILE_OPTION="$COMPILE_OPTION -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX}
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}"
+ COMPILE_OPTION="$COMPILE_OPTION -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX}"
+ if [ -z "${GLUTEN_VCPKG_ENABLED:-}" ]; then
+ COMPILE_OPTION="$COMPILE_OPTION -DCMAKE_PREFIX_PATH=${INSTALL_PREFIX}"
+ fi
fi
if [[ "$(uname)" == "Darwin" && -n "${INSTALL_PREFIX:-}" &&
"${INSTALL_PREFIX:-}" != "/usr/local" && "${INSTALL_PREFIX:-}" != /usr/local/*
]]; then
COMPILE_OPTION="$COMPILE_OPTION -DCMAKE_IGNORE_PREFIX_PATH=/usr/local"
@@ -186,6 +189,7 @@ function compile {
fi
if [ -n "${GLUTEN_VCPKG_ENABLED:-}" ]; then
COMPILE_OPTION="$COMPILE_OPTION -DVELOX_GFLAGS_TYPE=static"
+ COMPILE_OPTION="$COMPILE_OPTION -DCMAKE_FIND_PACKAGE_PREFER_CONFIG=OFF"
fi
COMPILE_OPTION="$COMPILE_OPTION -DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
@@ -198,8 +202,14 @@ function compile {
fi
echo "NUM_THREADS_OPTS: $NUM_THREADS_OPTS"
- export simdjson_SOURCE=AUTO
- export Arrow_SOURCE=AUTO
+ if [ -n "${GLUTEN_VCPKG_ENABLED:-}" ]; then
+ export VELOX_DEPENDENCY_SOURCE=SYSTEM
+ export simdjson_SOURCE=SYSTEM
+ export Arrow_SOURCE=SYSTEM
+ else
+ export simdjson_SOURCE=AUTO
+ export Arrow_SOURCE=AUTO
+ fi
if [ $ARCH == 'x86_64' ]; then
make $COMPILE_TYPE $NUM_THREADS_OPTS EXTRA_CMAKE_FLAGS="${COMPILE_OPTION}"
elif [[ "$ARCH" == 'arm64' || "$ARCH" == 'aarch64' || "$ARCH" == "ppc64le"
]]; then
diff --git a/ep/build-velox/src/get-velox.sh b/ep/build-velox/src/get-velox.sh
index 4ed92d89b1..dbe9e602ce 100755
--- a/ep/build-velox/src/get-velox.sh
+++ b/ep/build-velox/src/get-velox.sh
@@ -152,16 +152,6 @@ function apply_provided_velox_patch {
fi
}
-function apply_compilation_fixes {
- local SUDO_CMD=""
- if [ "$OS" == "Linux" ] && [ "${EUID:-$(id -u)}" -ne 0 ]; then
- SUDO_CMD="sudo"
- fi
- $SUDO_CMD cp ${CURRENT_DIR}/modify_arrow.patch
${VELOX_HOME}/CMake/resolve_dependency_modules/arrow/
-
- git add
${VELOX_HOME}/CMake/resolve_dependency_modules/arrow/modify_arrow.patch # to
avoid the file from being deleted by git clean -dffx :/
-}
-
function setup_linux {
local LINUX_DISTRIBUTION=$(. /etc/os-release && echo ${ID})
local LINUX_VERSION_ID=$(. /etc/os-release && echo ${VERSION_ID})
@@ -243,6 +233,5 @@ fi
apply_provided_velox_patch
-apply_compilation_fixes
echo "Finished getting Velox code"
diff --git a/ep/build-velox/src/setup-openeuler24.sh
b/ep/build-velox/src/setup-openeuler24.sh
index 0c2a425f38..65ac853286 100755
--- a/ep/build-velox/src/setup-openeuler24.sh
+++ b/ep/build-velox/src/setup-openeuler24.sh
@@ -36,13 +36,13 @@ NPROC=$(getconf _NPROCESSORS_ONLN)
export CFLAGS=$(get_cxx_flags $CPU_TARGET) # Used by LZO.
export CXXFLAGS=$CFLAGS # Used by boost.
export CPPFLAGS=$CFLAGS # Used by LZO.
+export INSTALL_PREFIX=${INSTALL_PREFIX:-"/usr/local"}
EXTRA_PKG_CXXFLAGS=" -isystem ${INSTALL_PREFIX}/include"
CMAKE_BUILD_TYPE="${BUILD_TYPE:-Release}"
VELOX_BUILD_SHARED=${VELOX_BUILD_SHARED:-"OFF"} #Build folly and gflags shared
for use in libvelox.so.
BUILD_DUCKDB="${BUILD_DUCKDB:-true}"
BUILD_GEOS="${BUILD_GEOS:-true}"
VERSION=$(cat /etc/os-release | grep VERSION_ID)
-export INSTALL_PREFIX=${INSTALL_PREFIX:-"/usr/local"}
DEPENDENCY_DIR=${DEPENDENCY_DIR:-$(pwd)/deps-download}
FB_OS_VERSION="v2026.09.07.00"
@@ -252,8 +252,8 @@ function install_velox_deps {
function install_s3 {
install_aws_deps
- local MINIO_OS="linux"
- install_minio ${MINIO_OS}
+ local SILO_OS="linux"
+ install_silo ${SILO_OS}
}
function install_gcs {
diff --git a/tools/workload/benchmark_velox/initialize.ipynb
b/tools/workload/benchmark_velox/initialize.ipynb
index 3c504137e4..58f55a4101 100644
--- a/tools/workload/benchmark_velox/initialize.ipynb
+++ b/tools/workload/benchmark_velox/initialize.ipynb
@@ -2232,18 +2232,6 @@
" !git clone https://github.com/apache/gluten.git gluten"
]
},
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "hidden": true
- },
- "outputs": [],
- "source": [
- "# Build Arrow for the first time build.\n",
- "!sed -i 's/--build_arrow=OFF/--build_arrow=ON/'
~/gluten/dev/package-vcpkg.sh"
- ]
- },
{
"cell_type": "code",
"execution_count": null,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]