From 78c86f07a7b0e1bdb0902dc099e64bd898f773c8 Mon Sep 17 00:00:00 2001 From: fanquake Date: Thu, 10 Sep 2026 12:17:58 +0100 Subject: [PATCH] build: avoid pipe2 on Darwin (for now) macOS 27 will support pipe2 at runtime, and Xcode 27 (and Command Line Tools) support it at compile time. This means a macOS < 27 system will detect support for pipe2, but then binaries will crash at runtime, as pipe2 is not available. Just avoid pipe2 on macOS for now, and continue using pipe. Note that the compilation also produces availability warnings, and this will need to be backported. Github-Pull: #36218 Rebased-From: 9c7748315d3124d1abe6a4606743cd9274beee66 --- cmake/introspection.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/introspection.cmake b/cmake/introspection.cmake index d2257633974..b87f3e59d6d 100644 --- a/cmake/introspection.cmake +++ b/cmake/introspection.cmake @@ -8,7 +8,9 @@ include(CheckCXXSymbolExists) check_cxx_symbol_exists(O_CLOEXEC "fcntl.h" HAVE_O_CLOEXEC) check_cxx_symbol_exists(fdatasync "unistd.h" HAVE_FDATASYNC) check_cxx_symbol_exists(fork "unistd.h" HAVE_DECL_FORK) -check_cxx_symbol_exists(pipe2 "unistd.h" HAVE_DECL_PIPE2) +if (NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") + check_cxx_symbol_exists(pipe2 "unistd.h" HAVE_DECL_PIPE2) +endif() check_cxx_symbol_exists(setsid "unistd.h" HAVE_DECL_SETSID) if(NOT WIN32)