From 9b64dc6834097e6c2c6c3eea4db9fc6c4c522622 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Thu, 9 Feb 2023 14:42:31 +0100 Subject: [PATCH 1/6] increase boost min version for clang >= 16 --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 58fd1de3ed67..12172378fd47 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1057,7 +1057,11 @@ macro(build_boost) set(BOOST_VENDORED TRUE) endmacro() -if(ARROW_BUILD_TESTS) +if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION + VERSION_GREATER_EQUAL 16) + # GH-34094 we require newer Boost versions for Clang 16 or newer + set(ARROW_BOOST_REQUIRED_VERSION "1.81.0") +elseif(ARROW_BUILD_TESTS) set(ARROW_BOOST_REQUIRED_VERSION "1.64") else() set(ARROW_BOOST_REQUIRED_VERSION "1.58") From 61d842fafd80f405cc7aa863646c29dcd2578841 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Thu, 9 Feb 2023 14:50:08 +0100 Subject: [PATCH 2/6] don't pin patch version --- 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 12172378fd47..ba06d6bca077 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1060,7 +1060,7 @@ endmacro() if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16) # GH-34094 we require newer Boost versions for Clang 16 or newer - set(ARROW_BOOST_REQUIRED_VERSION "1.81.0") + set(ARROW_BOOST_REQUIRED_VERSION "1.81") elseif(ARROW_BUILD_TESTS) set(ARROW_BOOST_REQUIRED_VERSION "1.64") else() From f1e241e14c89c46a0c891e8bcbe6fcb29c357e1f Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Thu, 9 Feb 2023 16:28:51 +0100 Subject: [PATCH 3/6] fix 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 ba06d6bca077..396207f2922f 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1059,7 +1059,7 @@ endmacro() if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16) - # GH-34094 we require newer Boost versions for Clang 16 or newer + # GH-34094 we require newer Boost versions for Clang 16 or newer set(ARROW_BOOST_REQUIRED_VERSION "1.81") elseif(ARROW_BUILD_TESTS) set(ARROW_BOOST_REQUIRED_VERSION "1.64") From 9430df59ea2cc50edb7b12ad5283e73051434851 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Thu, 9 Feb 2023 18:09:49 +0100 Subject: [PATCH 4/6] update comment --- 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 396207f2922f..8dd2a08858c4 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1059,7 +1059,8 @@ endmacro() if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16) - # GH-34094 we require newer Boost versions for Clang 16 or newer + # GH-34094 Older versions of Boost use the deprecated std::unary_function in + # boost/container_hash/hash.hpp and support for that was removed in clang 16 set(ARROW_BOOST_REQUIRED_VERSION "1.81") elseif(ARROW_BUILD_TESTS) set(ARROW_BOOST_REQUIRED_VERSION "1.64") From ff86840596ed6699ffb8574b8aae7866540b7b02 Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 10 Feb 2023 12:14:27 +0900 Subject: [PATCH 5/6] Use VERSION_GREATER Co-authored-by: Neal Richardson --- 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 8dd2a08858c4..12513ae5149a 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1058,7 +1058,7 @@ macro(build_boost) endmacro() if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION - VERSION_GREATER_EQUAL 16) + VERSION_GREATER 15) # GH-34094 Older versions of Boost use the deprecated std::unary_function in # boost/container_hash/hash.hpp and support for that was removed in clang 16 set(ARROW_BOOST_REQUIRED_VERSION "1.81") From 24ffa1052eb2314a81dbc6ced84c8121e58b53eb Mon Sep 17 00:00:00 2001 From: Sutou Kouhei Date: Fri, 10 Feb 2023 12:33:29 +0900 Subject: [PATCH 6/6] Fix style Signed-off-by: Sutou Kouhei --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 12513ae5149a..50c9cd2136dc 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1057,8 +1057,8 @@ macro(build_boost) set(BOOST_VENDORED TRUE) endmacro() -if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION - VERSION_GREATER 15) +if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER + 15) # GH-34094 Older versions of Boost use the deprecated std::unary_function in # boost/container_hash/hash.hpp and support for that was removed in clang 16 set(ARROW_BOOST_REQUIRED_VERSION "1.81")