From 9b43551108e24178c312b43ef2bf1b94e26aaac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jul 2024 16:28:05 +0200 Subject: [PATCH 01/20] GH-41696: [Python][Packaging] Bump MacOS Deployment Target to 12 instead of 11 --- .github/workflows/python.yml | 2 +- ci/scripts/python_wheel_macos_build.sh | 2 +- dev/tasks/tasks.yml | 6 +++--- dev/tasks/verify-rc/github.macos.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 916db2580e3..854d792f310 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -163,7 +163,7 @@ jobs: ARROW_BUILD_TESTS: OFF PYARROW_TEST_LARGE_MEMORY: ON # Current oldest supported version according to https://endoflife.date/macos - MACOSX_DEPLOYMENT_TARGET: 10.15 + MACOSX_DEPLOYMENT_TARGET: 12.0 steps: - name: Checkout Arrow uses: actions/checkout@v4 diff --git a/ci/scripts/python_wheel_macos_build.sh b/ci/scripts/python_wheel_macos_build.sh index d5430f26748..92b962f1740 100755 --- a/ci/scripts/python_wheel_macos_build.sh +++ b/ci/scripts/python_wheel_macos_build.sh @@ -34,7 +34,7 @@ rm -rf ${source_dir}/python/pyarrow/*.so.* echo "=== (${PYTHON_VERSION}) Set SDK, C++ and Wheel flags ===" export _PYTHON_HOST_PLATFORM="macosx-${MACOSX_DEPLOYMENT_TARGET}-${arch}" -export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-10.15} +export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-12.0} export SDKROOT=${SDKROOT:-$(xcrun --sdk macosx --show-sdk-path)} if [ $arch = "arm64" ]; then diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index cae34c32313..a5e64a857be 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -413,7 +413,7 @@ tasks: {############################## Wheel macOS ####################################} -{% for macos_version, macos_codename in [("10.15", "catalina")] %} +{% for macos_version, macos_codename in [("12.0", "monterey")] %} {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64: @@ -431,14 +431,14 @@ tasks: {% endfor %} - wheel-macos-big-sur-{{ python_tag }}-arm64: + wheel-macos-monterey-{{ python_tag }}-arm64: ci: github template: python-wheels/github.osx.yml params: arch: "arm64" arrow_jemalloc: "OFF" python_version: "{{ python_version }}" - macos_deployment_target: "11.0" + macos_deployment_target: "12.0" runs_on: "macos-14" vcpkg_arch: "arm64" artifacts: diff --git a/dev/tasks/verify-rc/github.macos.yml b/dev/tasks/verify-rc/github.macos.yml index 4bc3fff71b6..e2bc7895c6d 100644 --- a/dev/tasks/verify-rc/github.macos.yml +++ b/dev/tasks/verify-rc/github.macos.yml @@ -22,7 +22,7 @@ {% set use_conda = use_conda|default(False) %} # env: is generated by macros.github_header() # Current oldest supported version according to https://endoflife.date/macos - MACOSX_DEPLOYMENT_TARGET: "10.15" + MACOSX_DEPLOYMENT_TARGET: "12.0" jobs: verify: From 6585ff564905ecef089bf1b9a45b25c89c363113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jul 2024 16:55:49 +0200 Subject: [PATCH 02/20] Update VCPKG_OSX_DEPLOYMENT_TARGET to 12.0 --- ci/vcpkg/arm64-osx-static-debug.cmake | 2 +- ci/vcpkg/arm64-osx-static-release.cmake | 2 +- ci/vcpkg/universal2-osx-static-debug.cmake | 2 +- ci/vcpkg/universal2-osx-static-release.cmake | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/vcpkg/arm64-osx-static-debug.cmake b/ci/vcpkg/arm64-osx-static-debug.cmake index f511819a2ed..32ae7bc4334 100644 --- a/ci/vcpkg/arm64-osx-static-debug.cmake +++ b/ci/vcpkg/arm64-osx-static-debug.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) -set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/arm64-osx-static-release.cmake b/ci/vcpkg/arm64-osx-static-release.cmake index 43d65efb265..dde46cd763a 100644 --- a/ci/vcpkg/arm64-osx-static-release.cmake +++ b/ci/vcpkg/arm64-osx-static-release.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) -set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE release) diff --git a/ci/vcpkg/universal2-osx-static-debug.cmake b/ci/vcpkg/universal2-osx-static-debug.cmake index 8abc1ebf838..d3ef0d67eb7 100644 --- a/ci/vcpkg/universal2-osx-static-debug.cmake +++ b/ci/vcpkg/universal2-osx-static-debug.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64") -set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/universal2-osx-static-release.cmake b/ci/vcpkg/universal2-osx-static-release.cmake index 2eb36c15175..3018aa93e5f 100644 --- a/ci/vcpkg/universal2-osx-static-release.cmake +++ b/ci/vcpkg/universal2-osx-static-release.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64") -set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE release) From aa286a4997a7df84d5d2ae60fa99cae3e059e840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 3 Jul 2024 17:28:25 +0200 Subject: [PATCH 03/20] Other possible updates required to bump everything to macOS 12 --- python/CMakeLists.txt | 2 +- ruby/red-arrow/ext/arrow/extconf.rb | 2 +- .../Sources/ArrowFlight/Flight.grpc.swift | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 5d5eeaf8157..1a18b2b173a 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -84,7 +84,7 @@ set(CMAKE_MACOSX_RPATH 1) if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET}) set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) else() - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) + set(CMAKE_OSX_DEPLOYMENT_TARGET 12.0) endif() # Generate a Clang compile_commands.json "compilation database" file for use diff --git a/ruby/red-arrow/ext/arrow/extconf.rb b/ruby/red-arrow/ext/arrow/extconf.rb index 28ccd0b2d59..a3005cd56f2 100644 --- a/ruby/red-arrow/ext/arrow/extconf.rb +++ b/ruby/red-arrow/ext/arrow/extconf.rb @@ -91,7 +91,7 @@ symbols_in_external_bundles.each do |symbol| $DLDFLAGS << " -Wl,-U,#{symbol}" end - mmacosx_version_min = "-mmacosx-version-min=10.15" + mmacosx_version_min = "-mmacosx-version-min=12.0" $CFLAGS << " #{mmacosx_version_min}" $CXXFLAGS << " #{mmacosx_version_min}" end diff --git a/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift b/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift index 8daaa19f07b..bb207dc7468 100644 --- a/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift +++ b/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift @@ -387,7 +387,7 @@ internal struct Arrow_Flight_Protocol_FlightServiceNIOClient: Arrow_Flight_Proto /// flight service can expose one or more predefined endpoints that can be /// accessed using the Arrow Flight Protocol. Additionally, a flight service /// can expose a set of actions that are available. -@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) internal protocol Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol: GRPCClient { static var serviceDescriptor: GRPCServiceDescriptor { get } var interceptors: Arrow_Flight_Protocol_FlightServiceClientInterceptorFactoryProtocol? { get } @@ -435,7 +435,7 @@ internal protocol Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol: GRPCCl ) -> GRPCAsyncServerStreamingCall } -@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { internal static var serviceDescriptor: GRPCServiceDescriptor { return Arrow_Flight_Protocol_FlightServiceClientMetadata.serviceDescriptor @@ -548,7 +548,7 @@ extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { } } -@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { internal func handshake( _ requests: RequestStream, @@ -695,7 +695,7 @@ extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { } } -@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) internal struct Arrow_Flight_Protocol_FlightServiceAsyncClient: Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { internal var channel: GRPCChannel internal var defaultCallOptions: CallOptions @@ -1008,7 +1008,7 @@ extension Arrow_Flight_Protocol_FlightServiceProvider { /// can expose a set of actions that are available. /// /// To implement a server, implement an object which conforms to this protocol. -@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) internal protocol Arrow_Flight_Protocol_FlightServiceAsyncProvider: CallHandlerProvider, Sendable { static var serviceDescriptor: GRPCServiceDescriptor { get } var interceptors: Arrow_Flight_Protocol_FlightServiceServerInterceptorFactoryProtocol? { get } @@ -1123,7 +1123,7 @@ internal protocol Arrow_Flight_Protocol_FlightServiceAsyncProvider: CallHandlerP ) async throws } -@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) extension Arrow_Flight_Protocol_FlightServiceAsyncProvider { internal static var serviceDescriptor: GRPCServiceDescriptor { return Arrow_Flight_Protocol_FlightServiceServerMetadata.serviceDescriptor From 6c3182370deb89d922cec4304daaae9c7737f3df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 12:04:53 +0200 Subject: [PATCH 04/20] Revert "Update VCPKG_OSX_DEPLOYMENT_TARGET to 12.0" This reverts commit 6585ff564905ecef089bf1b9a45b25c89c363113. --- ci/vcpkg/arm64-osx-static-debug.cmake | 2 +- ci/vcpkg/arm64-osx-static-release.cmake | 2 +- ci/vcpkg/universal2-osx-static-debug.cmake | 2 +- ci/vcpkg/universal2-osx-static-release.cmake | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/vcpkg/arm64-osx-static-debug.cmake b/ci/vcpkg/arm64-osx-static-debug.cmake index 32ae7bc4334..f511819a2ed 100644 --- a/ci/vcpkg/arm64-osx-static-debug.cmake +++ b/ci/vcpkg/arm64-osx-static-debug.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) -set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/arm64-osx-static-release.cmake b/ci/vcpkg/arm64-osx-static-release.cmake index dde46cd763a..43d65efb265 100644 --- a/ci/vcpkg/arm64-osx-static-release.cmake +++ b/ci/vcpkg/arm64-osx-static-release.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) -set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") set(VCPKG_BUILD_TYPE release) diff --git a/ci/vcpkg/universal2-osx-static-debug.cmake b/ci/vcpkg/universal2-osx-static-debug.cmake index d3ef0d67eb7..8abc1ebf838 100644 --- a/ci/vcpkg/universal2-osx-static-debug.cmake +++ b/ci/vcpkg/universal2-osx-static-debug.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64") -set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/universal2-osx-static-release.cmake b/ci/vcpkg/universal2-osx-static-release.cmake index 3018aa93e5f..2eb36c15175 100644 --- a/ci/vcpkg/universal2-osx-static-release.cmake +++ b/ci/vcpkg/universal2-osx-static-release.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64") -set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") set(VCPKG_BUILD_TYPE release) From 358503463e5f6e9de542c51bba4cb89a97c82b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 12:35:24 +0200 Subject: [PATCH 05/20] Revert back CMake and upgrade to monterey --- dev/tasks/tasks.yml | 4 ++-- python/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index a5e64a857be..cbb0a144486 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -413,7 +413,7 @@ tasks: {############################## Wheel macOS ####################################} -{% for macos_version, macos_codename in [("12.0", "monterey")] %} +{% for macos_version, macos_codename in [("10.15", "catalina")] %} {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64: @@ -431,7 +431,7 @@ tasks: {% endfor %} - wheel-macos-monterey-{{ python_tag }}-arm64: + wheel-macos-big-sur-{{ python_tag }}-arm64: ci: github template: python-wheels/github.osx.yml params: diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 1a18b2b173a..5d5eeaf8157 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -84,7 +84,7 @@ set(CMAKE_MACOSX_RPATH 1) if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET}) set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) else() - set(CMAKE_OSX_DEPLOYMENT_TARGET 12.0) + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) endif() # Generate a Clang compile_commands.json "compilation database" file for use From 68a43c80b0ba1058e1406b4dc4f846da312892ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 13:07:17 +0200 Subject: [PATCH 06/20] Update from catalina to monterey --- 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 cbb0a144486..8b545ef1107 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -413,7 +413,7 @@ tasks: {############################## Wheel macOS ####################################} -{% for macos_version, macos_codename in [("10.15", "catalina")] %} +{% for macos_version, macos_codename in [("12.0", "monterey")] %} {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64: From c933d70c7e13873d86028b59d5a1a4755cc1087b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 15:31:26 +0200 Subject: [PATCH 07/20] Try big sur instead of monterey --- 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 8b545ef1107..f53a411627c 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -413,7 +413,7 @@ tasks: {############################## Wheel macOS ####################################} -{% for macos_version, macos_codename in [("12.0", "monterey")] %} +{% for macos_version, macos_codename in [("11.0", "big-sur")] %} {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64: From 8980ca6542f197573fc19dc7c41c814defcb570a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 16:00:57 +0200 Subject: [PATCH 08/20] Try again monterey deployment target using monterey github runner --- dev/tasks/tasks.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/tasks/tasks.yml b/dev/tasks/tasks.yml index f53a411627c..bbc9c648472 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -413,7 +413,7 @@ tasks: {############################## Wheel macOS ####################################} -{% for macos_version, macos_codename in [("11.0", "big-sur")] %} +{% for macos_version, macos_codename in [("12.0", "monterey")] %} {% set platform_tag = "macosx_{}_x86_64".format(macos_version.replace('.', '_')) %} wheel-macos-{{ macos_codename }}-{{ python_tag }}-amd64: @@ -424,7 +424,7 @@ tasks: arrow_jemalloc: "ON" python_version: "{{ python_version }}" macos_deployment_target: "{{ macos_version }}" - runs_on: "macos-13" + runs_on: "macos-12" vcpkg_arch: "amd64" artifacts: - pyarrow-{no_rc_version}-{{ python_tag }}-{{ abi_tag }}-{{ platform_tag }}.whl From 472f258b1129a83ada9b8a01a34e73991d341aee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 19:10:31 +0200 Subject: [PATCH 09/20] Try explicitly set SHARED_PRIVATE_LINK_LIBS with ARROW_OPENSSL_LIBS to link flight with openssl --- cpp/src/arrow/flight/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 98f93705f6f..44b211175c1 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -26,6 +26,9 @@ endif() if(WIN32) list(APPEND ARROW_FLIGHT_LINK_LIBS ws2_32.lib) endif() +if(ARROW_USE_OPENSSL) + list(APPEND ARROW_FLIGHT_SHARED_PRIVATE_LINK_LIBS ${ARROW_OPENSSL_LIBS}) +endif() set(ARROW_FLIGHT_TEST_LINKAGE "${ARROW_TEST_LINKAGE}") if(Protobuf_USE_STATIC_LIBS) @@ -188,6 +191,8 @@ add_arrow_lib(arrow_flight flight_grpc_gen SHARED_LINK_FLAGS ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt + SHARED_PRIVATE_LINK_LIBS + ${ARROW_FLIGHT_SHARED_PRIVATE_LINK_LIBS} SHARED_LINK_LIBS # We must use gRPC::grpc++ first. If gRPC::grpc++ # depends on bundled Abseil, bundled Abseil and system From 2a372f00170835e681fbbf35644d8d608297310c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 19:40:43 +0200 Subject: [PATCH 10/20] Revert setting ARROW_FLIGHT_SHARED_PRIVATE_LINK_LIBS and add -no_fixup_chains to ADD_ARROW_LIB --- cpp/cmake_modules/BuildUtils.cmake | 2 +- cpp/src/arrow/flight/CMakeLists.txt | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index 692efa78376..f3bb8ebcf22 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -366,7 +366,7 @@ function(ADD_ARROW_LIB LIB_NAME) # # When running with the Emscripten Compiler, we need not worry about # python, and the Emscripten Compiler does not support this option. - set(ARG_SHARED_LINK_FLAGS "-undefined dynamic_lookup ${ARG_SHARED_LINK_FLAGS}") + set(ARG_SHARED_LINK_FLAGS "-undefined dynamic_lookup -no_fixup_chains ${ARG_SHARED_LINK_FLAGS}") endif() set_target_properties(${LIB_NAME}_shared diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 44b211175c1..98f93705f6f 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -26,9 +26,6 @@ endif() if(WIN32) list(APPEND ARROW_FLIGHT_LINK_LIBS ws2_32.lib) endif() -if(ARROW_USE_OPENSSL) - list(APPEND ARROW_FLIGHT_SHARED_PRIVATE_LINK_LIBS ${ARROW_OPENSSL_LIBS}) -endif() set(ARROW_FLIGHT_TEST_LINKAGE "${ARROW_TEST_LINKAGE}") if(Protobuf_USE_STATIC_LIBS) @@ -191,8 +188,6 @@ add_arrow_lib(arrow_flight flight_grpc_gen SHARED_LINK_FLAGS ${ARROW_VERSION_SCRIPT_FLAGS} # Defined in cpp/arrow/CMakeLists.txt - SHARED_PRIVATE_LINK_LIBS - ${ARROW_FLIGHT_SHARED_PRIVATE_LINK_LIBS} SHARED_LINK_LIBS # We must use gRPC::grpc++ first. If gRPC::grpc++ # depends on bundled Abseil, bundled Abseil and system From a7b6d25849c1355d98c381c418670e6eeaa956dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 19:44:14 +0200 Subject: [PATCH 11/20] Make the linter happy --- cpp/cmake_modules/BuildUtils.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index f3bb8ebcf22..636ccaba7d3 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -366,7 +366,8 @@ function(ADD_ARROW_LIB LIB_NAME) # # When running with the Emscripten Compiler, we need not worry about # python, and the Emscripten Compiler does not support this option. - set(ARG_SHARED_LINK_FLAGS "-undefined dynamic_lookup -no_fixup_chains ${ARG_SHARED_LINK_FLAGS}") + set(ARG_SHARED_LINK_FLAGS + "-undefined dynamic_lookup -no_fixup_chains ${ARG_SHARED_LINK_FLAGS}") endif() set_target_properties(${LIB_NAME}_shared From 7600953f4a96b8770a4cbb6a0806dffe617a6ca8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Tue, 27 Aug 2024 20:12:51 +0200 Subject: [PATCH 12/20] Revert back adding -no_fixup_chains --- cpp/cmake_modules/BuildUtils.cmake | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cpp/cmake_modules/BuildUtils.cmake b/cpp/cmake_modules/BuildUtils.cmake index 636ccaba7d3..692efa78376 100644 --- a/cpp/cmake_modules/BuildUtils.cmake +++ b/cpp/cmake_modules/BuildUtils.cmake @@ -366,8 +366,7 @@ function(ADD_ARROW_LIB LIB_NAME) # # When running with the Emscripten Compiler, we need not worry about # python, and the Emscripten Compiler does not support this option. - set(ARG_SHARED_LINK_FLAGS - "-undefined dynamic_lookup -no_fixup_chains ${ARG_SHARED_LINK_FLAGS}") + set(ARG_SHARED_LINK_FLAGS "-undefined dynamic_lookup ${ARG_SHARED_LINK_FLAGS}") endif() set_target_properties(${LIB_NAME}_shared From 5bc0bdaf8db2fc023d510ae265bdd32b3c8e20a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 11:35:32 +0200 Subject: [PATCH 13/20] Add verbose Makefile info --- ci/scripts/python_wheel_macos_build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/scripts/python_wheel_macos_build.sh b/ci/scripts/python_wheel_macos_build.sh index 92b962f1740..7455ce9d684 100755 --- a/ci/scripts/python_wheel_macos_build.sh +++ b/ci/scripts/python_wheel_macos_build.sh @@ -137,6 +137,7 @@ cmake \ -DCMAKE_INSTALL_PREFIX=${build_dir}/install \ -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} \ -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD} \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ -DORC_SOURCE=BUNDLED \ -DPARQUET_REQUIRE_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION} \ -DVCPKG_MANIFEST_MODE=OFF \ From 826abaa73d80581d890b4b57dc050df4b41b1f5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 11:36:40 +0200 Subject: [PATCH 14/20] Add OpenSSL libs to ARROW_FLIGHT_LINK_LIBS --- cpp/src/arrow/flight/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 98f93705f6f..6df4e55aac3 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -26,6 +26,9 @@ endif() if(WIN32) list(APPEND ARROW_FLIGHT_LINK_LIBS ws2_32.lib) endif() +if(ARROW_USE_OPENSSL) + list(APPEND ARROW_FLIGHT_LINK_LIBS ${ARROW_OPENSSL_LIBS}) +endif() set(ARROW_FLIGHT_TEST_LINKAGE "${ARROW_TEST_LINKAGE}") if(Protobuf_USE_STATIC_LIBS) From b21f247d216f24fb6f31f389ff2fc750e2b88b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 11:37:06 +0200 Subject: [PATCH 15/20] Update VCPKG_OSX_DEPLOYMENT_TARGET and CMAKE_OSX_DEPLOYMENT_TARGET to 12.0 --- ci/vcpkg/arm64-osx-static-debug.cmake | 2 +- ci/vcpkg/arm64-osx-static-release.cmake | 2 +- ci/vcpkg/universal2-osx-static-debug.cmake | 2 +- ci/vcpkg/universal2-osx-static-release.cmake | 2 +- python/CMakeLists.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ci/vcpkg/arm64-osx-static-debug.cmake b/ci/vcpkg/arm64-osx-static-debug.cmake index f511819a2ed..32ae7bc4334 100644 --- a/ci/vcpkg/arm64-osx-static-debug.cmake +++ b/ci/vcpkg/arm64-osx-static-debug.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) -set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/arm64-osx-static-release.cmake b/ci/vcpkg/arm64-osx-static-release.cmake index 43d65efb265..dde46cd763a 100644 --- a/ci/vcpkg/arm64-osx-static-release.cmake +++ b/ci/vcpkg/arm64-osx-static-release.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) -set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE release) diff --git a/ci/vcpkg/universal2-osx-static-debug.cmake b/ci/vcpkg/universal2-osx-static-debug.cmake index 8abc1ebf838..d3ef0d67eb7 100644 --- a/ci/vcpkg/universal2-osx-static-debug.cmake +++ b/ci/vcpkg/universal2-osx-static-debug.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64") -set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE debug) diff --git a/ci/vcpkg/universal2-osx-static-release.cmake b/ci/vcpkg/universal2-osx-static-release.cmake index 2eb36c15175..3018aa93e5f 100644 --- a/ci/vcpkg/universal2-osx-static-release.cmake +++ b/ci/vcpkg/universal2-osx-static-release.cmake @@ -21,6 +21,6 @@ set(VCPKG_LIBRARY_LINKAGE static) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES "x86_64;arm64") -set(VCPKG_OSX_DEPLOYMENT_TARGET "10.15") +set(VCPKG_OSX_DEPLOYMENT_TARGET "12.0") set(VCPKG_BUILD_TYPE release) diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 5d5eeaf8157..1a18b2b173a 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -84,7 +84,7 @@ set(CMAKE_MACOSX_RPATH 1) if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET}) set(CMAKE_OSX_DEPLOYMENT_TARGET $ENV{MACOSX_DEPLOYMENT_TARGET}) else() - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) + set(CMAKE_OSX_DEPLOYMENT_TARGET 12.0) endif() # Generate a Clang compile_commands.json "compilation database" file for use From d159b6afc8de2bf4646c970abd1d1e4b8ddbab7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 11:38:49 +0200 Subject: [PATCH 16/20] Update from big-sur to monterey --- 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 bbc9c648472..a6248f3b1b3 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -431,7 +431,7 @@ tasks: {% endfor %} - wheel-macos-big-sur-{{ python_tag }}-arm64: + wheel-macos-monterey-{{ python_tag }}-arm64: ci: github template: python-wheels/github.osx.yml params: From ae2921532537ef27c19adb47aebc8e6f1ae921fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 11:40:29 +0200 Subject: [PATCH 17/20] Revert updating swift file --- .../Sources/ArrowFlight/Flight.grpc.swift | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift b/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift index bb207dc7468..8daaa19f07b 100644 --- a/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift +++ b/swift/ArrowFlight/Sources/ArrowFlight/Flight.grpc.swift @@ -387,7 +387,7 @@ internal struct Arrow_Flight_Protocol_FlightServiceNIOClient: Arrow_Flight_Proto /// flight service can expose one or more predefined endpoints that can be /// accessed using the Arrow Flight Protocol. Additionally, a flight service /// can expose a set of actions that are available. -@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) internal protocol Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol: GRPCClient { static var serviceDescriptor: GRPCServiceDescriptor { get } var interceptors: Arrow_Flight_Protocol_FlightServiceClientInterceptorFactoryProtocol? { get } @@ -435,7 +435,7 @@ internal protocol Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol: GRPCCl ) -> GRPCAsyncServerStreamingCall } -@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { internal static var serviceDescriptor: GRPCServiceDescriptor { return Arrow_Flight_Protocol_FlightServiceClientMetadata.serviceDescriptor @@ -548,7 +548,7 @@ extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { } } -@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { internal func handshake( _ requests: RequestStream, @@ -695,7 +695,7 @@ extension Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { } } -@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) internal struct Arrow_Flight_Protocol_FlightServiceAsyncClient: Arrow_Flight_Protocol_FlightServiceAsyncClientProtocol { internal var channel: GRPCChannel internal var defaultCallOptions: CallOptions @@ -1008,7 +1008,7 @@ extension Arrow_Flight_Protocol_FlightServiceProvider { /// can expose a set of actions that are available. /// /// To implement a server, implement an object which conforms to this protocol. -@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) internal protocol Arrow_Flight_Protocol_FlightServiceAsyncProvider: CallHandlerProvider, Sendable { static var serviceDescriptor: GRPCServiceDescriptor { get } var interceptors: Arrow_Flight_Protocol_FlightServiceServerInterceptorFactoryProtocol? { get } @@ -1123,7 +1123,7 @@ internal protocol Arrow_Flight_Protocol_FlightServiceAsyncProvider: CallHandlerP ) async throws } -@available(macOS 12.0, iOS 13, tvOS 13, watchOS 6, *) +@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *) extension Arrow_Flight_Protocol_FlightServiceAsyncProvider { internal static var serviceDescriptor: GRPCServiceDescriptor { return Arrow_Flight_Protocol_FlightServiceServerMetadata.serviceDescriptor From 823e0ef1702b84785371be1df4974d9a446dedeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 12:06:19 +0200 Subject: [PATCH 18/20] Remove CMAKE_VERBOSE_MAKEFILE --- ci/scripts/python_wheel_macos_build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/ci/scripts/python_wheel_macos_build.sh b/ci/scripts/python_wheel_macos_build.sh index 7455ce9d684..92b962f1740 100755 --- a/ci/scripts/python_wheel_macos_build.sh +++ b/ci/scripts/python_wheel_macos_build.sh @@ -137,7 +137,6 @@ cmake \ -DCMAKE_INSTALL_PREFIX=${build_dir}/install \ -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES} \ -DCMAKE_UNITY_BUILD=${CMAKE_UNITY_BUILD} \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ -DORC_SOURCE=BUNDLED \ -DPARQUET_REQUIRE_ENCRYPTION=${PARQUET_REQUIRE_ENCRYPTION} \ -DVCPKG_MANIFEST_MODE=OFF \ From 47df1847075026984c131ec1edef2836fa162887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Wed, 28 Aug 2024 12:51:45 +0200 Subject: [PATCH 19/20] Fix platform tag for arm64 wheels in order to validate uploaded artifacts correctly --- 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 a6248f3b1b3..7f52fe7b052 100644 --- a/dev/tasks/tasks.yml +++ b/dev/tasks/tasks.yml @@ -442,7 +442,7 @@ tasks: runs_on: "macos-14" vcpkg_arch: "arm64" artifacts: - - pyarrow-{no_rc_version}-{{ python_tag }}-{{ python_tag }}-macosx_11_0_arm64.whl + - pyarrow-{no_rc_version}-{{ python_tag }}-{{ python_tag }}-macosx_12_0_arm64.whl {############################## Wheel Windows ################################} From 2a2052eeb88fd7afe0cf89948ae8c04f204215fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Cumplido?= Date: Thu, 29 Aug 2024 11:01:57 +0200 Subject: [PATCH 20/20] Add comment + check for only link OpenSSL with flight on APPLE --- cpp/src/arrow/flight/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cpp/src/arrow/flight/CMakeLists.txt b/cpp/src/arrow/flight/CMakeLists.txt index 6df4e55aac3..835c4fc83bf 100644 --- a/cpp/src/arrow/flight/CMakeLists.txt +++ b/cpp/src/arrow/flight/CMakeLists.txt @@ -26,7 +26,10 @@ endif() if(WIN32) list(APPEND ARROW_FLIGHT_LINK_LIBS ws2_32.lib) endif() -if(ARROW_USE_OPENSSL) +# Updating the MACOSX_DEPLOYMENT_TARGET to 12 required us to explicitly +# link Flight with OpenSSL on macOS. Read this comment for more details: +# https://github.com/apache/arrow/pull/43137#pullrequestreview-2267476893 +if(APPLE AND ARROW_USE_OPENSSL) list(APPEND ARROW_FLIGHT_LINK_LIBS ${ARROW_OPENSSL_LIBS}) endif()