VLCKit Build Failure on macOS 26.0 (Tahoe) with Xcode 26
Attempting to build VLCKit on macOS 26 (Tahoe) with latest and only version of Xcode that works with Tahoe (26) consistently fails during the contrib/tools phase. I’ve tried on multiple clean Macs, same result.
Environment:
- macOS: 26.0 (Tahoe)
- Xcode: 26.0
- iOS SDK: 26.0
- VLCKit: Latest master branch
- Architecture: arm64
- Python: 3.7.0
Problem: VLCKit fails to build on macOS 26.0 with Xcode 26 due to Apple's removal of the _LIBCPP_ENABLE_ASSERTIONS macro in the C++ standard library. The macro has been replaced with _LIBCPP_HARDENING_MODE in Xcode 26's libc++ implementation.
Root Cause: The harfbuzz contrib dependency includes ragel as a subproject, which fails to compile with the following error:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:49:6: error: "_LIBCPP_ENABLE_ASSERTIONS has been removed, please use _LIBCPP_HARDENING_MODE instead"
error "_LIBCPP_ENABLE_ASSERTIONS has been removed, please use _LIBCPP_HARDENING_MODE instead"
^
Build Error Output: Building contribs for arm64 [... successful builds ...] FAILED: subprojects/ragel-6.10/ragel.p/ragel_cdfflat.cpp.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ [...] In file included from ../subprojects/ragel-6.10/ragel/cdfflat.cpp:24: In file included from ../subprojects/ragel-6.10/ragel/cdfflat.h:26: In file included from ../subprojects/ragel-6.10/ragel/cdcodegen.h:30: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/iostream:43: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:13: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/string:561: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__string/char_traits.h:19: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:49:6: error: "_LIBCPP_ENABLE_ASSERTIONS has been removed, please use _LIBCPP_HARDENING_MODE instead"
error "_LIBCPP_ENABLE_ASSERTIONS has been removed, please use _LIBCPP_HARDENING_MODE instead"
^
Affected Files: The error occurs when compiling ragel within harfbuzz:
- contrib/contrib-arm64-apple-iOS_9.0/harfbuzz/subprojects/packagefiles/ragel/meson.build
- contrib/contrib-arm64-apple-iOS_9.0/harfbuzz/subprojects/ragel-6.10/meson.build
Expected Behavior: VLCKit should build successfully on macOS 26.0 with Xcode 26, handling the new C++ hardening mode macros.
Additional Context:
- Xcode 15/16 are incompatible with macOS 26.0 (Tahoe), so downgrading Xcode is not an option
- The issue specifically affects ragel compilation within the harfbuzz subproject
- This is a breaking change in Apple's C++ standard library implementation
- Similar issues may affect other C++ projects building on macOS 26.0