Skip to content

Update die_library to latest and fix macOS arm64 build#40

Open
bahlaivlad wants to merge 1 commit into
elastic:mainfrom
bahlaivlad:update-dielib-macos-arm64
Open

Update die_library to latest and fix macOS arm64 build#40
bahlaivlad wants to merge 1 commit into
elastic:mainfrom
bahlaivlad:update-dielib-macos-arm64

Conversation

@bahlaivlad

Copy link
Copy Markdown

Bump .dielib_commit to da15bca (DIE engine 3.22) and add the build fixes needed for the new sources to compile on macOS arm64:

  • Put the bundled aqt Qt first on CMAKE_PREFIX_PATH so a system-wide Qt (e.g. Homebrew) cannot leak into transitive Qt6 config lookups.
  • Strip x86-only SIMD flags (-msse/-msse2/-mavx/-mavx2) and the USE_SSE2 define from the new xsimd targets on non-x86 builds; the runtime dispatcher never enables those paths on ARM.
  • Define fdopen=fdopen on the zlib and die targets on macOS: the vendored pre-1.2.12 zlib treats TARGET_OS_MAC (predefined by recent Apple clang) as Mac OS Classic and #defines fdopen to NULL, which breaks the SDK stdio headers.
  • Add -Wno-register for XArchive Algos sources that still use the C++17-removed register keyword.
  • Patch xdeflatedecoder.cpp via FetchContent PATCH_COMMAND to #undef its zlib-style local macro before including Qt headers, which on macOS reach CoreFoundation's CFMessagePort.h where local is a parameter name.

@cla-checker-service

cla-checker-service Bot commented Jun 12, 2026

Copy link
Copy Markdown

💚 CLA has been signed

Bump .dielib_commit to da15bca (DIE engine 3.22) and add the build
fixes needed for the new sources to compile on macOS arm64:

- Put the bundled aqt Qt first on CMAKE_PREFIX_PATH so a system-wide
  Qt (e.g. Homebrew) cannot leak into transitive Qt6 config lookups.
- Strip x86-only SIMD flags (-msse/-msse2/-mavx/-mavx2) and the
  USE_SSE2 define from the new xsimd targets on non-x86 builds; the
  runtime dispatcher never enables those paths on ARM.
- Define fdopen=fdopen on the zlib and die targets on macOS: the
  vendored pre-1.2.12 zlib treats TARGET_OS_MAC (predefined by recent
  Apple clang) as Mac OS Classic and #defines fdopen to NULL, which
  breaks the SDK stdio headers.
- Add -Wno-register for XArchive Algos sources that still use the
  C++17-removed register keyword.
- Patch xdeflatedecoder.cpp via FetchContent PATCH_COMMAND to #undef
  its zlib-style `local` macro before including Qt headers, which on
  macOS reach CoreFoundation's CFMessagePort.h where `local` is a
  parameter name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@bahlaivlad bahlaivlad force-pushed the update-dielib-macos-arm64 branch from 0072d9f to 5d06e38 Compare June 12, 2026 19:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant