Skip to content

New V8 cannot be compiled on macOS <15 (or Xcode <16) #295

Closed
@targos

Description

@targos

See https://github.com/nodejs/node-v8/actions/runs/12412846251/job/34653486549
I can cannot reproduce this error locally with macOS 15.2 (Xcode 16.2).

The code was introduced in https://chromium-review.googlesource.com/c/v8/v8/+/6105430.
Relevant lines: https://github.com/v8/v8/blob/da4e529cfddb93e7166666c447a94d173e1e682f/src/base/platform/mutex.cc#L118-L122

   sccache g++ -o /Users/runner/work/node-v8/node-v8/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/semaphore.o ../deps/v8/src/base/platform/semaphore.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-DBUILDING_V8_SHARED' '-D_DARWIN_USE_64_BIT_INODE=1' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_ARM64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS' '-DV8_EMBEDDER_STRING="-node.7"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DNDEBUG' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_SPARKPLUG' '-DV8_ENABLE_MAGLEV' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DBUILDING_V8_BASE_SHARED' -I../deps/v8 -I../deps/v8/include -I../deps/v8/third_party/abseil-cpp  -O3 -gdwarf-2 -fno-strict-aliasing -fvisibility=hidden -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-rtti -fno-exceptions -Wno-invalid-offsetof -MMD -MF /Users/runner/work/node-v8/node-v8/out/Release/.deps//Users/runner/work/node-v8/node-v8/out/Release/obj.target/v8_libbase/deps/v8/src/base/platform/semaphore.o.d.raw   -c
../deps/v8/src/base/platform/mutex.cc:119:11: error: unknown type name 'os_unfair_lock_flags_t'
    const os_unfair_lock_flags_t options = static_cast<os_unfair_lock_flags_t>(
          ^
../deps/v8/src/base/platform/mutex.cc:119:56: error: unknown type name 'os_unfair_lock_flags_t'
    const os_unfair_lock_flags_t options = static_cast<os_unfair_lock_flags_t>(
                                                       ^
2 errors generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions