This is an automated email from the ASF dual-hosted git repository.
yuanzhou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 0257def1e2 [GLUTEN-8802][VL] Support build static/dynamic docker
images for arm (#8803)
0257def1e2 is described below
commit 0257def1e2df5896e44a4bc737c29aee54051cef
Author: Zhiguo Wu <[email protected]>
AuthorDate: Fri Mar 7 22:37:06 2025 +0800
[GLUTEN-8802][VL] Support build static/dynamic docker images for arm (#8803)
This patch adds docker image for CentOS-8 static/dynamic build. The CI
trigger will be enabled in future patch
---
.github/workflows/docker_image.yml | 245 +++++++++++++++++++--
dev/docker/Dockerfile.centos8-dynamic-build | 5 +-
dev/docker/Dockerfile.centos8-dynamic-build-jdk11 | 27 ++-
dev/docker/Dockerfile.centos8-dynamic-build-jdk17 | 26 ++-
...namic-build => Dockerfile.centos8-static-build} | 24 +-
dev/docker/Makefile | 2 +-
dev/vcpkg/env.sh | 2 +-
dev/vcpkg/ports/duckdb/portfile.cmake | 2 +-
dev/vcpkg/ports/libelf/portfile.cmake | 4 +
dev/vcpkg/setup-build-depends.sh | 5 +
docs/developers/velox-backend-build-in-docker.md | 2 +-
11 files changed, 305 insertions(+), 39 deletions(-)
diff --git a/.github/workflows/docker_image.yml
b/.github/workflows/docker_image.yml
index 15c4774053..bc3ae26a81 100644
--- a/.github/workflows/docker_image.yml
+++ b/.github/workflows/docker_image.yml
@@ -23,12 +23,16 @@ on:
- '.github/workflows/docker_image.yml'
- '.github/workflows/util/install_spark_resources.sh'
- 'dev/docker/Dockerfile.centos7-static-build'
+ - 'dev/docker/Dockerfile.centos8-static-build'
- 'dev/docker/Dockerfile.centos8-dynamic-build'
- 'dev/docker/Dockerfile.centos8-dynamic-build-jdk11'
- 'dev/docker/Dockerfile.centos8-dynamic-build-jdk17'
schedule:
- cron: '0 20 * * 0'
+env:
+ DOCKERHUB_REPO: apache/gluten
+
jobs:
build-vcpkg-centos-7:
if: ${{ startsWith(github.repository, 'apache/') }}
@@ -36,10 +40,10 @@ jobs:
steps:
- name: Checkout repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
@@ -48,23 +52,82 @@ jobs:
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
- uses: docker/build-push-action@v2
+ uses: docker/build-push-action@v6
with:
context: .
file: dev/docker/Dockerfile.centos7-static-build
push: true
- tags: apache/gluten:vcpkg-centos-7
+ tags: ${{ env.DOCKERHUB_REPO }}:vcpkg-centos-7
- build-centos-8:
+ build-vcpkg-centos-8:
if: ${{ startsWith(github.repository, 'apache/') }}
- runs-on: ubuntu-latest
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, ubuntu-24.04-arm ]
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.DOCKERHUB_REPO }}
+ tags: vcpkg-centos-8
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USER }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Build and push by digest
+ id: build
+ uses: docker/build-push-action@v6
+ with:
+ context: .
+ file: dev/docker/Dockerfile.centos8-static-build
+ labels: ${{ steps.meta.outputs.labels }}
+ outputs: type=image,"name=${{ env.DOCKERHUB_REPO
}}",push-by-digest=true,push=true
+
+ - name: Export digest
+ run: |
+ mkdir -p ${{ runner.temp }}/digests
+ digest="${{ steps.build.outputs.digest }}"
+ touch "${{ runner.temp }}/digests/${digest#sha256:}"
+
+ - name: Upload digest
+ uses: actions/upload-artifact@v4
+ with:
+ name: digests-vcpkg-centos-8-${{ matrix.os }}
+ path: ${{ runner.temp }}/digests/*
+ if-no-files-found: error
+ retention-days: 1
+
+ build-centos-8-jdk8:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, ubuntu-24.04-arm ]
steps:
- name: Checkout repository
uses: actions/checkout@v2
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.DOCKERHUB_REPO }}
+ tags: centos-8-jdk8
+
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v1
+ uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
@@ -72,27 +135,171 @@ jobs:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push Docker image Centos8
- uses: docker/build-push-action@v2
+ - name: Build and push by digest
+ id: build
+ uses: docker/build-push-action@v6
with:
context: .
file: dev/docker/Dockerfile.centos8-dynamic-build
- push: true
- tags: apache/gluten:centos-8 # JDK8 based
+ labels: ${{ steps.meta.outputs.labels }}
+ outputs: type=image,"name=${{ env.DOCKERHUB_REPO
}}",push-by-digest=true,push=true
+
+ - name: Export digest
+ run: |
+ mkdir -p ${{ runner.temp }}/digests
+ digest="${{ steps.build.outputs.digest }}"
+ touch "${{ runner.temp }}/digests/${digest#sha256:}"
+
+ - name: Upload digest
+ uses: actions/upload-artifact@v4
+ with:
+ name: digests-centos-8-jdk8-${{ matrix.os }}
+ path: ${{ runner.temp }}/digests/*
+ if-no-files-found: error
+ retention-days: 1
+
+ build-centos-8-jdk11:
+ if: ${{ startsWith(github.repository, 'apache/') }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, ubuntu-24.04-arm ]
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
- - name: Build and push Docker image Centos8 + JDK11
- uses: docker/build-push-action@v2
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.DOCKERHUB_REPO }}
+ tags: centos-8-jdk11
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USER }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Build and push by digest
+ id: build
+ uses: docker/build-push-action@v6
with:
context: .
file: dev/docker/Dockerfile.centos8-dynamic-build-jdk11
- push: true
- tags: apache/gluten:centos-8-jdk11
+ labels: ${{ steps.meta.outputs.labels }}
+ outputs: type=image,"name=${{ env.DOCKERHUB_REPO
}}",push-by-digest=true,push=true
+
+ - name: Export digest
+ run: |
+ mkdir -p ${{ runner.temp }}/digests
+ digest="${{ steps.build.outputs.digest }}"
+ touch "${{ runner.temp }}/digests/${digest#sha256:}"
+
+ - name: Upload digest
+ uses: actions/upload-artifact@v4
+ with:
+ name: digests-centos-8-jdk11-${{ matrix.os }}
+ path: ${{ runner.temp }}/digests/*
+ if-no-files-found: error
+ retention-days: 1
+
+ build-centos-8-jdk17:
+ if: ${{ startsWith(github.repository, 'apache/') }}
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, ubuntu-24.04-arm ]
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.DOCKERHUB_REPO }}
+ tags: centos-8-jdk17
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USER }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
- - name: Build and push Docker image Centos8 + JDK17
- uses: docker/build-push-action@v2
+ - name: Build and push by digest
+ id: build
+ uses: docker/build-push-action@v6
with:
context: .
file: dev/docker/Dockerfile.centos8-dynamic-build-jdk17
- push: true
- tags: apache/gluten:centos-8-jdk17
+ labels: ${{ steps.meta.outputs.labels }}
+ outputs: type=image,"name=${{ env.DOCKERHUB_REPO
}}",push-by-digest=true,push=true
+
+ - name: Export digest
+ run: |
+ mkdir -p ${{ runner.temp }}/digests
+ digest="${{ steps.build.outputs.digest }}"
+ touch "${{ runner.temp }}/digests/${digest#sha256:}"
+
+ - name: Upload digest
+ uses: actions/upload-artifact@v4
+ with:
+ name: digests-centos-8-jdk17-${{ matrix.os }}
+ path: ${{ runner.temp }}/digests/*
+ if-no-files-found: error
+ retention-days: 1
+
+ merge:
+ if: ${{ startsWith(github.repository, 'apache/') }}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ digests: [ vcpkg-centos-8, centos-8-jdk8, centos-8-jdk11,
centos-8-jdk17 ]
+ needs:
+ - build-vcpkg-centos-8
+ - build-centos-8-jdk8
+ - build-centos-8-jdk11
+ - build-centos-8-jdk17
+ steps:
+ - name: Download digests
+ uses: actions/download-artifact@v4
+ with:
+ path: ${{ runner.temp }}/digests
+ pattern: digests-${{ matrix.digests }}-*
+ merge-multiple: true
+
+ - name: Login to Docker Hub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USER }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
+
+ - name: Docker meta
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.DOCKERHUB_REPO }}
+ tags: ${{ matrix.digests }}
+
+ - name: Create manifest list and push
+ working-directory: ${{ runner.temp }}/digests
+ run: |
+ docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) |
join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
+ $(printf '${{ env.DOCKERHUB_REPO }}@sha256:%s ' *)
+
+ - name: Inspect image
+ run: |
+ docker buildx imagetools inspect ${{ env.DOCKERHUB_REPO }}:${{
steps.meta.outputs.version }}
diff --git a/dev/docker/Dockerfile.centos8-dynamic-build
b/dev/docker/Dockerfile.centos8-dynamic-build
index 34bf713057..5434af9036 100644
--- a/dev/docker/Dockerfile.centos8-dynamic-build
+++ b/dev/docker/Dockerfile.centos8-dynamic-build
@@ -42,4 +42,7 @@ RUN git clone --depth=1
https://github.com/apache/incubator-gluten /opt/gluten
RUN cd /opt/gluten/.github/workflows/util/ && ./install_spark_resources.sh 3.2
&& ./install_spark_resources.sh 3.3 \
&& ./install_spark_resources.sh 3.4 && ./install_spark_resources.sh 3.5 &&
./install_spark_resources.sh 3.5-scala2.13
-RUN cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
+RUN if [ "$(uname -m)" = "aarch64" ]; then \
+ export CPU_TARGET="aarch64"; \
+ fi && \
+ cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
diff --git a/dev/docker/Dockerfile.centos8-dynamic-build-jdk11
b/dev/docker/Dockerfile.centos8-dynamic-build-jdk11
index 3fe525a812..0ff4d69c8d 100644
--- a/dev/docker/Dockerfile.centos8-dynamic-build-jdk11
+++ b/dev/docker/Dockerfile.centos8-dynamic-build-jdk11
@@ -13,15 +13,36 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM apache/gluten:centos-8
+FROM centos:8
+RUN sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* || true
+RUN sed -i -e
"s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g"
/etc/yum.repos.d/CentOS-* || true
+
+RUN yum update -y && yum install -y epel-release sudo dnf && yum install -y
ccache
+RUN dnf install -y --setopt=install_weak_deps=False gcc-toolset-11
+RUN echo "check_certificate = off" >> ~/.wgetrc
RUN yum install -y java-11-openjdk-devel patch wget git perl
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk
ENV PATH=$JAVA_HOME/bin:$PATH
-
+RUN wget --no-check-certificate
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
&& \
+ tar -xvf apache-maven-3.8.8-bin.tar.gz && \
+ mv apache-maven-3.8.8 /usr/lib/maven
ENV PATH=${PATH}:/usr/lib/maven/bin
+RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.3.2-incubating/apache-celeborn-0.3.2-incubating-bin.tgz
-P /opt/
+RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.4.3/apache-celeborn-0.4.3-bin.tgz
-P /opt/
+RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.5.3/apache-celeborn-0.5.3-bin.tgz
-P /opt/
+
+RUN wget -nv
https://archive.apache.org/dist/incubator/uniffle/0.9.2/apache-uniffle-0.9.2-incubating-bin.tar.gz
-P /opt/
+RUN wget -nv
https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
-P /opt/
+
RUN git clone --depth=1 https://github.com/apache/incubator-gluten /opt/gluten
-RUN cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
+RUN cd /opt/gluten/.github/workflows/util/ && ./install_spark_resources.sh 3.2
&& ./install_spark_resources.sh 3.3 \
+ && ./install_spark_resources.sh 3.4 && ./install_spark_resources.sh 3.5 &&
./install_spark_resources.sh 3.5-scala2.13
+
+RUN if [ "$(uname -m)" = "aarch64" ]; then \
+ export CPU_TARGET="aarch64"; \
+ fi && \
+ cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
diff --git a/dev/docker/Dockerfile.centos8-dynamic-build-jdk17
b/dev/docker/Dockerfile.centos8-dynamic-build-jdk17
index 2c279864f1..8f5f06e87a 100644
--- a/dev/docker/Dockerfile.centos8-dynamic-build-jdk17
+++ b/dev/docker/Dockerfile.centos8-dynamic-build-jdk17
@@ -13,16 +13,36 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM apache/gluten:centos-8
+FROM centos:8
+RUN sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* || true
+RUN sed -i -e
"s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g"
/etc/yum.repos.d/CentOS-* || true
+
+RUN yum update -y && yum install -y epel-release sudo dnf && yum install -y
ccache
+RUN dnf install -y --setopt=install_weak_deps=False gcc-toolset-11
+RUN echo "check_certificate = off" >> ~/.wgetrc
RUN yum install -y java-17-openjdk-devel patch wget git perl
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk
ENV PATH=$JAVA_HOME/bin:$PATH
-
+RUN wget --no-check-certificate
https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
&& \
+ tar -xvf apache-maven-3.8.8-bin.tar.gz && \
+ mv apache-maven-3.8.8 /usr/lib/maven
ENV PATH=${PATH}:/usr/lib/maven/bin
+RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.3.2-incubating/apache-celeborn-0.3.2-incubating-bin.tgz
-P /opt/
+RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.4.3/apache-celeborn-0.4.3-bin.tgz
-P /opt/
+RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.5.3/apache-celeborn-0.5.3-bin.tgz
-P /opt/
+
+RUN wget -nv
https://archive.apache.org/dist/incubator/uniffle/0.9.2/apache-uniffle-0.9.2-incubating-bin.tar.gz
-P /opt/
+RUN wget -nv
https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
-P /opt/
+
RUN git clone --depth=1 https://github.com/apache/incubator-gluten /opt/gluten
-RUN cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
+RUN cd /opt/gluten/.github/workflows/util/ && ./install_spark_resources.sh 3.2
&& ./install_spark_resources.sh 3.3 \
+ && ./install_spark_resources.sh 3.4 && ./install_spark_resources.sh 3.5 &&
./install_spark_resources.sh 3.5-scala2.13
+RUN if [ "$(uname -m)" = "aarch64" ]; then \
+ export CPU_TARGET="aarch64"; \
+ fi && \
+ cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
diff --git a/dev/docker/Dockerfile.centos8-dynamic-build
b/dev/docker/Dockerfile.centos8-static-build
similarity index 63%
copy from dev/docker/Dockerfile.centos8-dynamic-build
copy to dev/docker/Dockerfile.centos8-static-build
index 34bf713057..21864bb27a 100644
--- a/dev/docker/Dockerfile.centos8-dynamic-build
+++ b/dev/docker/Dockerfile.centos8-static-build
@@ -30,16 +30,22 @@ RUN wget --no-check-certificate
https://downloads.apache.org/maven/maven-3/3.8.8
mv apache-maven-3.8.8 /usr/lib/maven
ENV PATH=${PATH}:/usr/lib/maven/bin
-RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.3.2-incubating/apache-celeborn-0.3.2-incubating-bin.tgz
-P /opt/
-RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.4.3/apache-celeborn-0.4.3-bin.tgz
-P /opt/
-RUN wget -nv
https://archive.apache.org/dist/celeborn/celeborn-0.5.3/apache-celeborn-0.5.3-bin.tgz
-P /opt/
+RUN git clone --depth=1 https://github.com/apache/incubator-gluten /opt/gluten
-RUN wget -nv
https://archive.apache.org/dist/incubator/uniffle/0.9.2/apache-uniffle-0.9.2-incubating-bin.tar.gz
-P /opt/
-RUN wget -nv
https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
-P /opt/
+RUN cd /opt/gluten && bash ./dev/vcpkg/setup-build-depends.sh
-RUN git clone --depth=1 https://github.com/apache/incubator-gluten /opt/gluten
+# An actual path used for vcpkg cache.
+RUN mkdir -p /var/cache/vcpkg
-RUN cd /opt/gluten/.github/workflows/util/ && ./install_spark_resources.sh 3.2
&& ./install_spark_resources.sh 3.3 \
- && ./install_spark_resources.sh 3.4 && ./install_spark_resources.sh 3.5 &&
./install_spark_resources.sh 3.5-scala2.13
+# Set vcpkg cache path.
+ENV VCPKG_BINARY_SOURCES=clear;files,/var/cache/vcpkg,readwrite
-RUN cd /opt/gluten && source /opt/rh/gcc-toolset-11/enable &&
./dev/builddeps-veloxbe.sh --run_setup_script=ON build_arrow && rm -rf
/opt/gluten
+# Build arrow, then install the native libs to system paths and jar package to
.m2/ directory.
+RUN if [ "$(uname -m)" = "aarch64" ]; then \
+ export CPU_TARGET="aarch64"; \
+ export VCPKG_FORCE_SYSTEM_BINARIES=1; \
+ fi && \
+ cd /opt/gluten && source /opt/rh/gcc-toolset-11/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 && \
+ rm -rf /opt/gluten
diff --git a/dev/docker/Makefile b/dev/docker/Makefile
index bffa0fca33..02f4ed54cd 100644
--- a/dev/docker/Makefile
+++ b/dev/docker/Makefile
@@ -54,7 +54,7 @@ docker-image-static-build:
docker-image-dynamic-build:
docker build \
--file Dockerfile.centos8-dynamic-build \
- --tag "apache/gluten:centos-8" \
+ --tag "apache/gluten:centos-8-jdk8" \
--build-arg HTTPS_PROXY="" \
--build-arg HTTP_PROXY="" \
.
diff --git a/dev/vcpkg/env.sh b/dev/vcpkg/env.sh
index 009e9faba2..8f5efdbb33 100755
--- a/dev/vcpkg/env.sh
+++ b/dev/vcpkg/env.sh
@@ -10,7 +10,7 @@ SCRIPT_ROOT="$(realpath "$(dirname "${BASH_SOURCE[0]}")")"
export VCPKG_ROOT="$SCRIPT_ROOT/.vcpkg"
export VCPKG="$SCRIPT_ROOT/.vcpkg/vcpkg"
-export VCPKG_TRIPLET=x64-linux-avx
+export VCPKG_TRIPLET=$([ "${CPU_TARGET:-}" = "aarch64" ] && echo
"arm64-linux-release" || echo "x64-linux-avx")
export
VCPKG_TRIPLET_INSTALL_DIR=${SCRIPT_ROOT}/vcpkg_installed/${VCPKG_TRIPLET}
${SCRIPT_ROOT}/init.sh "$@"
diff --git a/dev/vcpkg/ports/duckdb/portfile.cmake
b/dev/vcpkg/ports/duckdb/portfile.cmake
index a572292953..a67323b50a 100644
--- a/dev/vcpkg/ports/duckdb/portfile.cmake
+++ b/dev/vcpkg/ports/duckdb/portfile.cmake
@@ -27,6 +27,6 @@ vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/DuckDB)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake")
-vcpkg_cmake_config_fixup(PACKAGE_NAME DuckDB)
+vcpkg_cmake_config_fixup(PACKAGE_NAME duckdb)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/dev/vcpkg/ports/libelf/portfile.cmake
b/dev/vcpkg/ports/libelf/portfile.cmake
index d1b347d693..67471d27e5 100644
--- a/dev/vcpkg/ports/libelf/portfile.cmake
+++ b/dev/vcpkg/ports/libelf/portfile.cmake
@@ -10,6 +10,10 @@ vcpkg_extract_source_archive(
PATCHES install.patch
)
+# Update config.guess and config.sub
+file(DOWNLOAD
"https://git.savannah.gnu.org/cgit/config.git/plain/config.guess"
"${SOURCE_PATH}/config.guess")
+file(DOWNLOAD "https://git.savannah.gnu.org/cgit/config.git/plain/config.sub"
"${SOURCE_PATH}/config.sub")
+
vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} AUTOCONFIG)
vcpkg_install_make()
vcpkg_fixup_pkgconfig()
diff --git a/dev/vcpkg/setup-build-depends.sh b/dev/vcpkg/setup-build-depends.sh
index 5eeeab5dfe..1fc694da62 100755
--- a/dev/vcpkg/setup-build-depends.sh
+++ b/dev/vcpkg/setup-build-depends.sh
@@ -144,6 +144,11 @@ install_centos_8() {
flex bison python3 \
java-1.8.0-openjdk java-1.8.0-openjdk-devel
+ pip3 install --upgrade pip
+
+ # Requires cmake >= 3.28.3
+ pip3 install cmake==3.28.3
+
dnf -y --enablerepo=powertools install autoconf-archive ninja-build
install_maven_from_source
diff --git a/docs/developers/velox-backend-build-in-docker.md
b/docs/developers/velox-backend-build-in-docker.md
index 4d5a32767f..a1b1d734af 100755
--- a/docs/developers/velox-backend-build-in-docker.md
+++ b/docs/developers/velox-backend-build-in-docker.md
@@ -48,7 +48,7 @@ The dynamic link approach needs to install the dependencies
libraries. It then d
The 'dockerfile' to build Gluten jar:
```
-FROM apache/gluten:centos-8
+FROM apache/gluten:centos-8-jdk8
# Build Gluten Jar
RUN source /opt/rh/devtoolset-11/enable && \
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]