From 7265ca9bbaa612778463a028fc882b20cf6742d1 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 d4ed4866b9c..45724e45c76 100644 --- a/cmake/introspection.cmake +++ b/cmake/introspection.cmake @@ -15,7 +15,9 @@ check_include_file_cxx(vm/vm_param.h HAVE_VM_VM_PARAM_H) 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) check_include_file_cxx(sys/types.h HAVE_SYS_TYPES_H)