Story: Hotfix: macOS debug CPack packaging fails with Xcode 16 strip regression

Table of Contents

This page documents a story in Sprint 21. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

Restore the macOS debug CI build after it started failing during CPack Bundle packaging when Xcode 16 was selected (PR #1325). build/cpack/CMakeLists.txt sets CPACK_STRIP_FILES YES unconditionally; combined with the macOS Bundle generator this causes strip to run on every installed binary. Xcode 16.2's strip has a regression where it aborts if the LC_DYLD_EXPORTS_TRIE export trie grows larger after pruning — which occurs for ores.refdata.service.

The fix mirrors the existing Windows-debug pattern in CTest.cmake: skip the package target for macOS debug (use all instead), so strip is never invoked on unstripped debug binaries.

Status

Field Value
State DONE
Parent sprint Sprint 21
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-06-27

Acceptance

  • macOS debug CI run completes without strip error.
  • The package target is skipped for macOS debug (build target is all), consistent with the Windows debug pattern.
  • macOS release CI is unaffected.

Tasks

Task State Start End Description
Scaffold story: Hotfix: macOS debug CPack packaging fails with Xcode 16 strip regression DONE 2026-06-26 2026-06-27 Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR.
Implement Hotfix: macOS debug CPack packaging fails with Xcode 16 strip regression DONE 2026-06-26 2026-06-27 Skip CPack packaging for macOS debug in CTest.cmake to avoid Xcode 16.2 strip regression.

Decisions

  • Skip macOS debug packaging (Option A) rather than disabling strip in CMakeLists.txt (Option B) because debug DMGs are not useful build artifacts, the change is a single condition in CTest.cmake mirroring the existing Windows-debug guard, and it avoids touching the packaging configuration which is shared with release.

Out of scope

  • Fixing the upstream Xcode 16.2 strip regression.
  • Disabling stripping on macOS release.

Emacs 29.1 (Org mode 9.6.6)