From fa075945eb05038e3675329287ef9139d74f6de9 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Tue, 16 Jan 2024 04:26:03 +0100 Subject: [PATCH 1/3] use -j1 for cmake >= 3.28 --- cpp/cmake_modules/ThirdpartyToolchain.cmake | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake index 6bb9c0f6af2..e7ba195d99f 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1005,8 +1005,13 @@ if("${MAKE}" STREQUAL "") endif() endif() -# Args for external projects using make. -set(MAKE_BUILD_ARGS "-j${NPROC}") +# Args for external projects using make +if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.28") + #Prevent 'bad file descriptor' error + set(MAKE_BUILD_ARGS "-j1") +else() + set(MAKE_BUILD_ARGS "-j${NPROC}") +endif() include(FetchContent) set(FC_DECLARE_COMMON_OPTIONS) From ccea0a0c00e2d7f86189591acfeb2ebc2f5d40be Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Tue, 16 Jan 2024 06:27:49 +0100 Subject: [PATCH 2/3] -j1 for make install bzip2 --- 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 e7ba195d99f..54d84163314 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -2639,7 +2639,7 @@ macro(build_bzip2) BUILD_IN_SOURCE 1 BUILD_COMMAND ${MAKE} libbz2.a ${MAKE_BUILD_ARGS} ${BZIP2_EXTRA_ARGS} - INSTALL_COMMAND ${MAKE} install PREFIX=${BZIP2_PREFIX} + INSTALL_COMMAND ${MAKE} install -j1 PREFIX=${BZIP2_PREFIX} ${BZIP2_EXTRA_ARGS} INSTALL_DIR ${BZIP2_PREFIX} URL ${ARROW_BZIP2_SOURCE_URL} From a93752bc961a1ff8621c5ccced6201f0737c5c49 Mon Sep 17 00:00:00 2001 From: Jacob Wujciak-Jens Date: Tue, 16 Jan 2024 17:03:42 +0100 Subject: [PATCH 3/3] Update commetn --- 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 54d84163314..1f5cd3a2b4d 100644 --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake @@ -1007,7 +1007,7 @@ endif() # Args for external projects using make if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.28") - #Prevent 'bad file descriptor' error + # Prevent 'bad file descriptor' error see #39517 #39628 set(MAKE_BUILD_ARGS "-j1") else() set(MAKE_BUILD_ARGS "-j${NPROC}")