Skip to content

Conversation

@jupblb
Copy link
Member

@jupblb jupblb commented Oct 31, 2025

I let amp fix the build for me. The project now builds on macOS 26.


Amp log:

  • Update LLVM toolchain from 15.0.6 to 16.0.0 for darwin-aarch64/arm64 to fix C++ stdlib math function resolution issues (isnan, isinf, isfinite, signbit)
  • Remove duplicate DERIVE_EQ_ALL macro in indexer/Indexer.h as DERIVE_CMP_ALL already includes it
  • Update triple to arm64-apple-darwin22.0 for LLVM 16.0.0

These changes resolve build failures on macOS ARM64 (darwin 26.0.1) caused by headers/SDK mismatch between LLVM 15.0.6's libc++ and Apple's SDK.

Amp-Thread-ID: https://ampcode.com/threads/T-360f12c3-9af0-43de-9057-9c332eac9223

- Update LLVM toolchain from 15.0.6 to 16.0.0 for darwin-aarch64/arm64
  to fix C++ stdlib math function resolution issues (isnan, isinf,
  isfinite, signbit)
- Remove duplicate DERIVE_EQ_ALL macro in indexer/Indexer.h as
  DERIVE_CMP_ALL already includes it
- Update triple to arm64-apple-darwin22.0 for LLVM 16.0.0

These changes resolve build failures on macOS ARM64 (darwin 26.0.1)
caused by headers/SDK mismatch between LLVM 15.0.6's libc++ and
Apple's SDK.

Amp-Thread-ID: https://ampcode.com/threads/T-360f12c3-9af0-43de-9057-9c332eac9223
@jupblb jupblb self-assigned this Oct 31, 2025
Comment on lines -9 to +10
"darwin-aarch64": {"version": "15.0.6", "triple": "arm64-apple-darwin21.0", "sha256": "32bc7b8eee3d98f72dd4e5651e6da990274ee2d28c5c19a7d8237eb817ce8d91"},
"darwin-arm64": {"version": "15.0.6", "triple": "arm64-apple-darwin21.0", "sha256": "32bc7b8eee3d98f72dd4e5651e6da990274ee2d28c5c19a7d8237eb817ce8d91"},
"darwin-aarch64": {"version": "16.0.0", "triple": "arm64-apple-darwin22.0", "sha256": "2041587b90626a4a87f0de14a5842c14c6c3374f42c8ed12726ef017416409d9"},
"darwin-arm64": {"version": "16.0.0", "triple": "arm64-apple-darwin22.0", "sha256": "2041587b90626a4a87f0de14a5842c14c6c3374f42c8ed12726ef017416409d9"},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weakly -1 on bumping the toolchain version for one OS and not for other OSes, because it risks creating more issues down the line. E.g. you might make some changes and those might compile locally because you're using a newer toolchain than the one being used in CI.

Historically, we've had a mismatch in 15.0.6 and 15.0.7 in some places due to the absence of x86_64 macOS artifacts for 15.0.6, and GitHub historically only supporting x86_64 macOS runners. However, the latter is no longer true.

Copy link
Contributor

@varungandhi-src varungandhi-src left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this bit:

These changes resolve build failures on macOS ARM64 (darwin 26.0.1) caused by headers/SDK mismatch between LLVM 15.0.6's libc++ and Apple's SDK.

What exactly is the mismatch? I don't understand why we'd be using the SDK; the point of bringing our own toolchain is that we're not relying on the macOS SDK. Yes, we have to link in some system dylibs, but we shouldn't be using system headers IIUC.

@varungandhi-src
Copy link
Contributor

I upgraded to Tahoe and I'm not able to repro this issue. Can you uninstall Xcode (and just have the command-line tools) and see if you're able to build the code?

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.

3 participants