From 1cba3cef6992e2479c5ecc347c42b410d3f6892e Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Fri, 5 Jul 2024 18:05:34 +0200 Subject: [PATCH 01/21] Include stdint on GCC13 --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 5b89a831ff7..a0cd96153e2 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2882,6 +2882,9 @@ macro(build_absl) set(ABSL_INCLUDE_DIR "${ABSL_PREFIX}/include") set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") + if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0) + set(ABSL_CMAKE_ARGS ${ABSL_CMAKE_ARGS} "-DCMAKE_CXX_FLAGS=-include stdint.h") + endif() set(ABSL_BUILD_BYPRODUCTS) set(ABSL_LIBRARIES) From 7a3f0abffaefe662bd37ed92c59e63cec07be4a0 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Fri, 5 Jul 2024 18:26:30 +0200 Subject: [PATCH 02/21] Lint --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index a0cd96153e2..6a49f4077cd 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2882,7 +2882,7 @@ macro(build_absl) set(ABSL_INCLUDE_DIR "${ABSL_PREFIX}/include") set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") - if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0) + if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0) set(ABSL_CMAKE_ARGS ${ABSL_CMAKE_ARGS} "-DCMAKE_CXX_FLAGS=-include stdint.h") endif() set(ABSL_BUILD_BYPRODUCTS) From ed6ca2f30e780cb6278480044bc53559455fcbf4 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Tue, 23 Jul 2024 22:35:13 +0200 Subject: [PATCH 03/21] Update cpp/cmake_modules/ThirdpartyToolchain.cmake Co-authored-by: Sutou Kouhei --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 6a49f4077cd..4678e5af1ed 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2883,7 +2883,7 @@ macro(build_absl) set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0) - set(ABSL_CMAKE_ARGS ${ABSL_CMAKE_ARGS} "-DCMAKE_CXX_FLAGS=-include stdint.h") + list(APPEND ABSL_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=-include stdint.h") endif() set(ABSL_BUILD_BYPRODUCTS) set(ABSL_LIBRARIES) From 0fb0f129dad8edc64060934ea32b994c0c92282d Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 17:44:29 +0200 Subject: [PATCH 04/21] Add GCC-13 test environment --- dev/tasks/tasks.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 32534e80528..45b6eeb1df5 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1406,6 +1406,16 @@ tasks: GCC_VERSION: 12 image: ubuntu-r-only-r + # This also has -flto=auto + test-r-gcc-13: + ci: github + template: docker-tests/github.linux.yml + params: + env: + UBUNTU: 24.04 + GCC_VERSION: 13 + image: ubuntu-r-only-r + test-r-minimal-build: ci: azure template: r/azure.linux.yml From 6066c864fe8421fd8a19130a6cdfe2d13361c764 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 18:33:40 +0200 Subject: [PATCH 05/21] Test in CPP env instead of R env --- dev/tasks/tasks.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 45b6eeb1df5..f2f94004185 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1068,6 +1068,17 @@ tasks: UBUNTU: 24.04 image: ubuntu-cpp + test-ubuntu-24.04-cpp-gcc-13: + ci: github + template: docker-tests/github.linux.yml + params: + env: + UBUNTU: 24.04 + GCC_VERSION: 13 + CLANG_TOOLS: 15 + LLVM: 15 + image: ubuntu-cpp + test-ubuntu-24.04-cpp-gcc-14: ci: github template: docker-tests/github.linux.yml @@ -1406,16 +1417,6 @@ tasks: GCC_VERSION: 12 image: ubuntu-r-only-r - # This also has -flto=auto - test-r-gcc-13: - ci: github - template: docker-tests/github.linux.yml - params: - env: - UBUNTU: 24.04 - GCC_VERSION: 13 - image: ubuntu-r-only-r - test-r-minimal-build: ci: azure template: r/azure.linux.yml From f6bccb992118898a39e84d32946f9142d0f97b6f Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 19:08:33 +0200 Subject: [PATCH 06/21] Build third party dependencies --- dev/tasks/tasks.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index f2f94004185..fac728428d6 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1077,6 +1077,7 @@ tasks: GCC_VERSION: 13 CLANG_TOOLS: 15 LLVM: 15 + flags: '-e ARROW_DEPENDENCY_SOURCE=BUNDLED' image: ubuntu-cpp test-ubuntu-24.04-cpp-gcc-14: From b0185f3244e398584eed3203cd237c7dd07ba51a Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 19:17:09 +0200 Subject: [PATCH 07/21] Build only ABSL as bundled --- dev/tasks/tasks.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index fac728428d6..ab03870efe7 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1077,7 +1077,9 @@ tasks: GCC_VERSION: 13 CLANG_TOOLS: 15 LLVM: 15 - flags: '-e ARROW_DEPENDENCY_SOURCE=BUNDLED' + # ABSL 20211102.0 has an error caught by gcc 13. + # https://github.com/abseil/abseil-cpp/pull/1187 + flags: '-e absl_SOURCE=BUNDLED' image: ubuntu-cpp test-ubuntu-24.04-cpp-gcc-14: From 2a11108043073449c47d7b3c7576063857d6a456 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 19:32:08 +0200 Subject: [PATCH 08/21] Profobuf must be bundled if absl is bundled --- dev/tasks/tasks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index ab03870efe7..fe42d61b547 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1079,7 +1079,7 @@ tasks: LLVM: 15 # ABSL 20211102.0 has an error caught by gcc 13. # https://github.com/abseil/abseil-cpp/pull/1187 - flags: '-e absl_SOURCE=BUNDLED' + flags: '-e absl_SOURCE=BUNDLED Protobuf_SOURCE=BUNDLED' image: ubuntu-cpp test-ubuntu-24.04-cpp-gcc-14: From d7073500091f11afee07ab4841115a3f21da56eb Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 19:36:13 +0200 Subject: [PATCH 09/21] ops, typo --- dev/tasks/tasks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index fe42d61b547..da2f3521a65 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1079,7 +1079,7 @@ tasks: LLVM: 15 # ABSL 20211102.0 has an error caught by gcc 13. # https://github.com/abseil/abseil-cpp/pull/1187 - flags: '-e absl_SOURCE=BUNDLED Protobuf_SOURCE=BUNDLED' + flags: '-e absl_SOURCE=BUNDLED -e Protobuf_SOURCE=BUNDLED' image: ubuntu-cpp test-ubuntu-24.04-cpp-gcc-14: From d03855a06be177738c5220fa98dd5679cba1c388 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 20:01:17 +0200 Subject: [PATCH 10/21] Switch to bundled image --- dev/tasks/tasks.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index da2f3521a65..48c577d7bfe 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1058,28 +1058,23 @@ tasks: UBUNTU: 20.04 image: ubuntu-cpp-bundled - test-ubuntu-24.04-cpp: + test-ubuntu-24.04-cpp-gcc-13-bundled: ci: github template: docker-tests/github.linux.yml params: env: - CLANG_TOOLS: 15 - LLVM: 15 UBUNTU: 24.04 - image: ubuntu-cpp + GCC_VERSION: 13 + image: ubuntu-cpp-bundled - test-ubuntu-24.04-cpp-gcc-13: + test-ubuntu-24.04-cpp: ci: github template: docker-tests/github.linux.yml params: env: - UBUNTU: 24.04 - GCC_VERSION: 13 CLANG_TOOLS: 15 LLVM: 15 - # ABSL 20211102.0 has an error caught by gcc 13. - # https://github.com/abseil/abseil-cpp/pull/1187 - flags: '-e absl_SOURCE=BUNDLED -e Protobuf_SOURCE=BUNDLED' + UBUNTU: 24.04 image: ubuntu-cpp test-ubuntu-24.04-cpp-gcc-14: From e757478335fecb51aa1151563cc9cf011c15f688 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 20:15:05 +0200 Subject: [PATCH 11/21] Add ubuntu 24.04 minimal --- ci/docker/ubuntu-24.04-cpp-minimal.dockerfile | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 ci/docker/ubuntu-24.04-cpp-minimal.dockerfile diff --git a/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile b/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile new file mode 100644 index 00000000000..bbde5d7be2e --- /dev/null +++ b/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile @@ -0,0 +1,103 @@ +# 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. + +ARG base=amd64/ubuntu:24.04 +FROM ${base} + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +RUN echo "debconf debconf/frontend select Noninteractive" | \ + debconf-set-selections + +RUN apt-get update -y -q && \ + apt-get install -y -q \ + build-essential \ + ccache \ + cmake \ + curl \ + git \ + libssl-dev \ + libcurl4-openssl-dev \ + python3-pip \ + tzdata \ + wget && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists* + +# Installs LLVM toolchain, for Gandiva and testing other compilers +# +# Note that this is installed before the base packages to improve iteration +# while debugging package list with docker build. +ARG llvm +RUN latest_system_llvm=14 && \ + if [ ${llvm} -gt ${latest_system_llvm} ]; then \ + apt-get update -y -q && \ + apt-get install -y -q --no-install-recommends \ + apt-transport-https \ + ca-certificates \ + gnupg \ + lsb-release \ + wget && \ + wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \ + code_name=$(lsb_release --codename --short) && \ + if [ ${llvm} -gt 10 ]; then \ + echo "deb https://apt.llvm.org/${code_name}/ llvm-toolchain-${code_name}-${llvm} main" > \ + /etc/apt/sources.list.d/llvm.list; \ + fi; \ + fi && \ + apt-get update -y -q && \ + apt-get install -y -q --no-install-recommends \ + clang-${llvm} \ + llvm-${llvm}-dev && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists* + +COPY ci/scripts/install_minio.sh /arrow/ci/scripts/ +RUN /arrow/ci/scripts/install_minio.sh latest /usr/local + +COPY ci/scripts/install_gcs_testbench.sh /arrow/ci/scripts/ +RUN /arrow/ci/scripts/install_gcs_testbench.sh default + +COPY ci/scripts/install_sccache.sh /arrow/ci/scripts/ +RUN /arrow/ci/scripts/install_sccache.sh unknown-linux-musl /usr/local/bin + +ENV ARROW_ACERO=ON \ + ARROW_AZURE=OFF \ + ARROW_BUILD_TESTS=ON \ + ARROW_DATASET=ON \ + ARROW_FLIGHT=ON \ + ARROW_GANDIVA=ON \ + ARROW_GCS=ON \ + ARROW_HDFS=ON \ + ARROW_HOME=/usr/local \ + ARROW_INSTALL_NAME_RPATH=OFF \ + ARROW_ORC=ON \ + ARROW_PARQUET=ON \ + ARROW_S3=ON \ + ARROW_USE_CCACHE=ON \ + ARROW_WITH_BROTLI=ON \ + ARROW_WITH_BZ2=ON \ + ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ + ARROW_WITH_SNAPPY=ON \ + ARROW_WITH_ZLIB=ON \ + ARROW_WITH_ZSTD=ON \ + CMAKE_GENERATOR="Unix Makefiles" \ + PARQUET_BUILD_EXAMPLES=ON \ + PARQUET_BUILD_EXECUTABLES=ON \ + PATH=/usr/lib/ccache/:$PATH \ + PYTHON=python3 From a55a5d87143933f2cafd924e1a47758a366b1298 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Wed, 24 Jul 2024 23:56:55 +0200 Subject: [PATCH 12/21] Temporarily add verbose for debugging --- dev/tasks/tasks.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 48c577d7bfe..e039da4caf9 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1065,6 +1065,7 @@ tasks: env: UBUNTU: 24.04 GCC_VERSION: 13 + flags: -e VERBOSE=ON image: ubuntu-cpp-bundled test-ubuntu-24.04-cpp: From 76c149ee96f77e1e4c6db6cf49444e810bc6a79b Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 00:32:09 +0200 Subject: [PATCH 13/21] Try to disable ccache temporarily --- dev/tasks/tasks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index e039da4caf9..554b0a75775 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1065,7 +1065,7 @@ tasks: env: UBUNTU: 24.04 GCC_VERSION: 13 - flags: -e VERBOSE=ON + flags: -e VERBOSE=ON -e ARROW_USE_CCACHE=OFF -e ARROW_USE_SCCACHE=OFF image: ubuntu-cpp-bundled test-ubuntu-24.04-cpp: From 0fe54c27fb63c9471a3f4a6a009a15f6967be477 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 10:52:09 +0200 Subject: [PATCH 14/21] Add verbose third party builds for debugging --- dev/tasks/tasks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index 554b0a75775..c071cf73bd0 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1065,7 +1065,7 @@ tasks: env: UBUNTU: 24.04 GCC_VERSION: 13 - flags: -e VERBOSE=ON -e ARROW_USE_CCACHE=OFF -e ARROW_USE_SCCACHE=OFF + flags: -e VERBOSE=ON -e ARROW_USE_CCACHE=OFF -e ARROW_USE_SCCACHE=OFF -e ARROW_VERBOSE_THIRDPARTY_BUILD=ON image: ubuntu-cpp-bundled test-ubuntu-24.04-cpp: From adac2e08f50e8a2697d29745642dc33602b77afe Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 14:20:46 +0200 Subject: [PATCH 15/21] Try to propagate CXX flags --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 4678e5af1ed..ba0f7624196 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2881,7 +2881,7 @@ macro(build_absl) set(ABSL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/absl_ep-install") set(ABSL_INCLUDE_DIR "${ABSL_PREFIX}/include") set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF - "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") + "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}" -DABSL_PROPAGATE_CXX_STD=ON) if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0) list(APPEND ABSL_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=-include stdint.h") endif() From 1b61d037787b2c9026f2417b0330c10351394979 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 16:04:39 +0200 Subject: [PATCH 16/21] strip spaces in flags --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index ba0f7624196..5da0b60c0f3 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -955,6 +955,7 @@ endif() # cmake command line will favor the last defined variable when a duplicate is # encountered. This requires that `EP_COMMON_CMAKE_ARGS` is always the first # argument. +string(STRIP ${EP_CXX_FLAGS} EP_CXX_FLAGS) set(EP_COMMON_CMAKE_ARGS ${EP_COMMON_TOOLCHAIN} -DBUILD_SHARED_LIBS=OFF @@ -2881,7 +2882,7 @@ macro(build_absl) set(ABSL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/absl_ep-install") set(ABSL_INCLUDE_DIR "${ABSL_PREFIX}/include") set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF - "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}" -DABSL_PROPAGATE_CXX_STD=ON) + "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0) list(APPEND ABSL_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=-include stdint.h") endif() From d59f39bdef36ee73efed765288e28e2abced782d Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 16:25:36 +0200 Subject: [PATCH 17/21] Specify CMAKE_ARGS explicitly for ABSL --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 5da0b60c0f3..a21753f9526 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2884,7 +2884,8 @@ macro(build_absl) set(ABSL_CMAKE_ARGS "${EP_COMMON_CMAKE_ARGS}" -DABSL_RUN_TESTS=OFF "-DCMAKE_INSTALL_PREFIX=${ABSL_PREFIX}") if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0) - list(APPEND ABSL_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=-include stdint.h") + set(ABSL_CXX_FLAGS "${EP_CXX_FLAGS} -include stdint.h") + list(APPEND ABSL_CMAKE_ARGS "-DCMAKE_CXX_FLAGS=${ABSL_CXX_FLAGS}") endif() set(ABSL_BUILD_BYPRODUCTS) set(ABSL_LIBRARIES) From 70e6e7da03985c022ecd3b00b03d896b392d12c9 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 16:39:58 +0200 Subject: [PATCH 18/21] Remove unecessary strip --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index a21753f9526..1c8c40d6f9c 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -955,7 +955,6 @@ endif() # cmake command line will favor the last defined variable when a duplicate is # encountered. This requires that `EP_COMMON_CMAKE_ARGS` is always the first # argument. -string(STRIP ${EP_CXX_FLAGS} EP_CXX_FLAGS) set(EP_COMMON_CMAKE_ARGS ${EP_COMMON_TOOLCHAIN} -DBUILD_SHARED_LIBS=OFF From 1a12ea60e1119405878c45ac4a4ccd57430847f1 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 17:10:53 +0200 Subject: [PATCH 19/21] Remove debugging flags --- dev/tasks/tasks.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index c071cf73bd0..48c577d7bfe 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -1065,7 +1065,6 @@ tasks: env: UBUNTU: 24.04 GCC_VERSION: 13 - flags: -e VERBOSE=ON -e ARROW_USE_CCACHE=OFF -e ARROW_USE_SCCACHE=OFF -e ARROW_VERBOSE_THIRDPARTY_BUILD=ON image: ubuntu-cpp-bundled test-ubuntu-24.04-cpp: From 943baa0c568582aaaa5d8859056c8058cf580456 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Thu, 25 Jul 2024 18:57:21 +0200 Subject: [PATCH 20/21] Add tzdata-legacy --- ci/docker/ubuntu-24.04-cpp-minimal.dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile b/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile index bbde5d7be2e..a995ab2a8bc 100644 --- a/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile +++ b/ci/docker/ubuntu-24.04-cpp-minimal.dockerfile @@ -34,6 +34,7 @@ RUN apt-get update -y -q && \ libcurl4-openssl-dev \ python3-pip \ tzdata \ + tzdata-legacy \ wget && \ apt-get clean && \ rm -rf /var/lib/apt/lists* From 0a6e36737a8fa3fb92342a0bae5ac5ddb8669749 Mon Sep 17 00:00:00 2001 From: Alessandro Molina Date: Fri, 26 Jul 2024 11:39:00 +0200 Subject: [PATCH 21/21] Remove workaround for GCS --- r/configure | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/r/configure b/r/configure index 0882ee6719c..e1f0bad3787 100755 --- a/r/configure +++ b/r/configure @@ -95,20 +95,6 @@ if [ ! "`${R_HOME}/bin/R CMD config CXX17`" ]; then exit 1 fi -# GH-36969: The version of Abseil used in the bundled build won't build on -# gcc-13. As a workaround for the 13.0.0 release, explicitly set -# ARROW_WITH_GOOGLE_CLOUD_CPP to OFF (if not already set) -if [ -z "$ARROW_GCS" ]; then - CXX17=`${R_HOME}/bin/R CMD config CXX17` - CXX17_VERSION=`$CXX17 --version` - if echo "$CXX17_VERSION" | grep -e "g++" > /dev/null ; then - if echo "$CXX17_VERSION" | grep -e "13.[0-9]\+.[0-9]\+" > /dev/null ; then - echo "*** Disabling Arrow build with GCS on gcc-13." - echo "*** Set ARROW_GCS=ON to explicitly enable." - export ARROW_GCS="OFF" - fi - fi -fi # Test if pkg-config is available to use if ${PKG_CONFIG} --version >/dev/null 2>&1; then