Fix build compatibility with macOS 26 and Apple Clang 21#4295
Conversation
Signed-off-by: ikkoham <ikkoham@users.noreply.github.com>
Command Bot: Processing... |
|
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
I, ikkoham <ikkoham@users.noreply.github.com>, hereby add my Signed-off-by to this commit: 0ece0b6 Signed-off-by: ikkoham <ikkoham@users.noreply.github.com>
Command Bot: Processing... |
|
CUDA Quantum Docs Bot: A preview of the documentation can be found here. |
|
Thanks for putting this together Ikko. I don't have my macOS machine with me this week but will test and review next week. |
taalexander
left a comment
There was a problem hiding this comment.
LGTM. I've pushed some CI enhancements that I'll try and use to make sure we can test with the latest Xcodes. I'll try and push this along.
d08c600 to
96e1973
Compare
Command Bot: Processing... |
CI Summary — ❌ failedRun #25332345348 · trigger ❌ Failed or cancelled
Top-level jobs (13)
⏩ Skipped jobs (7) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
All sub-jobs (50) — every matrix leg, with links
|
| Required check | Status | Link |
|---|---|---|
| Build and test (amd64, clang16, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, clang16, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, gcc11, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc11, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ❌ failure | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, clang16, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, clang16, openmpi) / Dev environment (Python) | ✅ success | view |
ccbc6c6 to
2ede9fb
Compare
Command Bot: Processing... |
CI Summary (
|
| Job | Result |
|---|---|
binaries |
⏩ skipped |
build_and_test |
✅ success |
config_devdeps |
✅ success |
config_source_build |
⏩ skipped |
config_wheeldeps |
✅ success |
devdeps |
✅ success |
docker_image |
⏩ skipped |
gen_code_coverage |
⏩ skipped |
metadata |
✅ success |
python_metapackages |
⏩ skipped |
python_wheels |
⏩ skipped |
source_build |
⏩ skipped |
wheeldeps |
✅ success |
⏩ Skipped jobs (7) — intentionally skipped on PR builds; run on merge_group / workflow_dispatch
| Job |
|---|
binaries |
config_source_build |
docker_image |
gen_code_coverage |
python_metapackages |
python_wheels |
source_build |
All sub-jobs (42) — every matrix leg, with links
| Job | Status | Link |
|---|---|---|
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| CI Summary | ❔ in_progress | view |
| Configure build (devdeps) | ✅ success | view |
| Configure build (source_build) | ⏩ skipped | view |
| Configure build (wheeldeps) | ✅ success | view |
| Create CUDA Quantum installer | ⏩ skipped | view |
| Create Docker images | ⏩ skipped | view |
| Create Python metapackages | ⏩ skipped | view |
| Create Python wheels | ⏩ skipped | view |
| Gen code coverage | ⏩ skipped | view |
| Load dependencies (amd64, gcc12) / Caching | ✅ success | view |
| Load dependencies (amd64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (amd64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (amd64, llvm) / Caching | ✅ success | view |
| Load dependencies (amd64, llvm) / Finalize | ✅ success | view |
| Load dependencies (amd64, llvm) / Metadata | ✅ success | view |
| Load dependencies (arm64, gcc12) / Caching | ✅ success | view |
| Load dependencies (arm64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (arm64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (arm64, llvm) / Caching | ✅ success | view |
| Load dependencies (arm64, llvm) / Finalize | ✅ success | view |
| Load dependencies (arm64, llvm) / Metadata | ✅ success | view |
| Load source build cache | ⏩ skipped | view |
| Load wheel dependencies (amd64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Metadata | ✅ success | view |
| Prepare cache clean-up | ✅ success | view |
| Retrieve PR info | ✅ success | view |
✅ Required checks (6/6) — declared in .github/required-checks.yml for push
| Required check | Status | Link |
|---|---|---|
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
Command Bot: Processing... |
Signed-off-by: ikkoham <ikkoham@users.noreply.github.com>
Use a local composite action to pick the newest non-beta Xcode and log the selected toolchain so macOS CI follows runner image updates. Include the selected Xcode in the dev environment cache key and let set_env_defaults.sh choose LLVM projects. Signed-off-by: Thomas Alexander <talexander@nvidia.com>
Signed-off-by: Thomas Alexander <talexander@nvidia.com>
LLVM 22 works with current macOS SDK libc++ headers, so keep bundled runtimes opt-in and let the macOS devdeps cache track LLVM cache changes. Signed-off-by: Thomas Alexander <talexander@nvidia.com>
Keep the macOS LLVM project default focused on the active build behavior without documenting an SDK runtimes workaround that no longer applies. Signed-off-by: Thomas Alexander <talexander@nvidia.com>
Accept the Apple linker diagnostic shape and pass nvq++ target options before the output path so CI checks the intended failure. Signed-off-by: Thomas Alexander <talexander@nvidia.com>
479e809 to
ad021c0
Compare
Command Bot: Processing... |
Base cache upload decisions on compile miss rate instead of cache file growth so warm PR reruns refresh caches when many compilations missed. Signed-off-by: Thomas Alexander <talexander@nvidia.com>
Command Bot: Processing... |
mitchdz
left a comment
There was a problem hiding this comment.
Overall changes look fine to me. The only question I have is in the description. The description talks about auto detecting the SDK in set_env_defaults.sh, but I don't see that change. Was that written and then removed later?
CI Summary (
|
| Job | Result |
|---|---|
binaries |
✅ success |
build_and_test |
✅ success |
config_devdeps |
✅ success |
config_source_build |
✅ success |
config_wheeldeps |
✅ success |
devdeps |
✅ success |
docker_image |
✅ success |
gen_code_coverage |
✅ success |
metadata |
✅ success |
python_metapackages |
✅ success |
python_wheels |
✅ success |
source_build |
✅ success |
wheeldeps |
✅ success |
All sub-jobs (178) — every matrix leg, with links
| Job | Status | Link |
|---|---|---|
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| CI Summary | ❔ in_progress | view |
| Configure build (devdeps) | ✅ success | view |
| Configure build (source_build) | ✅ success | view |
| Configure build (wheeldeps) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 13.0) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Prepare cache clean-up | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Prepare validation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 13.0) / Staging | ⏩ skipped | view |
| Create CUDA Quantum installer (arm64, 13.0) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create Docker images (amd64) / Documentation | ✅ success | view |
| Create Docker images (amd64) / Metadata | ✅ success | view |
| Create Docker images (amd64) / Prepare cache clean-up | ✅ success | view |
| Create Docker images (amd64) / Staging | ⏩ skipped | view |
| Create Docker images (amd64) / Validation | ✅ success | view |
| Create Docker images (amd64) / cuda-quantum (release) | ✅ success | view |
| Create Docker images (amd64) / cuda-quantum-dev (debug) | ✅ success | view |
| Create Docker images (amd64) / open-mpi | ⏩ skipped | view |
| Create Docker images (arm64) / Documentation | ⏩ skipped | view |
| Create Docker images (arm64) / Metadata | ✅ success | view |
| Create Docker images (arm64) / Prepare cache clean-up | ✅ success | view |
| Create Docker images (arm64) / Staging | ⏩ skipped | view |
| Create Docker images (arm64) / Validation | ✅ success | view |
| Create Docker images (arm64) / cuda-quantum (release) | ✅ success | view |
| Create Docker images (arm64) / cuda-quantum-dev (debug) | ✅ success | view |
| Create Docker images (arm64) / open-mpi | ⏩ skipped | view |
| Create Python metapackages / Build Python metapackages | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (13.0, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (13.0, 3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.13) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 13.0) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.13, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (amd64, 3.13, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.13, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Build Python 3.11 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (redhat/ubi9:9.6, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (ubuntu:22.04) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 13.0) / Validate wheel (ubuntu:22.04, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.13, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Build Python 3.13 wheel | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Prepare validation | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Staging | ⏩ skipped | view |
| Create Python wheels (arm64, 3.13, 13.0) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.13, 13.0) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Gen code coverage (amd64) / gen_code_coverage | ✅ success | view |
| Load dependencies (amd64, gcc12) / Caching | ✅ success | view |
| Load dependencies (amd64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (amd64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (amd64, llvm) / Caching | ✅ success | view |
| Load dependencies (amd64, llvm) / Finalize | ✅ success | view |
| Load dependencies (amd64, llvm) / Metadata | ✅ success | view |
| Load dependencies (arm64, gcc12) / Caching | ✅ success | view |
| Load dependencies (arm64, gcc12) / Finalize | ✅ success | view |
| Load dependencies (arm64, gcc12) / Metadata | ✅ success | view |
| Load dependencies (arm64, llvm) / Caching | ✅ success | view |
| Load dependencies (arm64, llvm) / Finalize | ✅ success | view |
| Load dependencies (arm64, llvm) / Metadata | ✅ success | view |
| Load source build cache (amd64, 12.6) / Caching | ✅ success | view |
| Load source build cache (amd64, 12.6) / Finalize | ✅ success | view |
| Load source build cache (amd64, 12.6) / Metadata | ✅ success | view |
| Load source build cache (amd64, 13.0) / Caching | ✅ success | view |
| Load source build cache (amd64, 13.0) / Finalize | ✅ success | view |
| Load source build cache (amd64, 13.0) / Metadata | ✅ success | view |
| Load source build cache (arm64, 12.6) / Caching | ✅ success | view |
| Load source build cache (arm64, 12.6) / Finalize | ✅ success | view |
| Load source build cache (arm64, 12.6) / Metadata | ✅ success | view |
| Load source build cache (arm64, 13.0) / Caching | ✅ success | view |
| Load source build cache (arm64, 13.0) / Finalize | ✅ success | view |
| Load source build cache (arm64, 13.0) / Metadata | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (amd64, 13.0) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 12.6) / Metadata | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Caching | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Finalize | ✅ success | view |
| Load wheel dependencies (arm64, 13.0) / Metadata | ✅ success | view |
| Prepare cache clean-up | ✅ success | view |
| Retrieve PR info | ✅ success | view |
✅ Required checks (39/39) — declared in .github/required-checks.yml for merge_group
| Required check | Status | Link |
|---|---|---|
| Build and test (amd64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, llvm, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (amd64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Debug) | ✅ success | view |
| Build and test (arm64, gcc12, openmpi) / Dev environment (Python) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (debian:12) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (fedora:42) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (opensuse/leap:15.5) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (amd64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Build CUDA Quantum assets | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Minimal OpenMPI installation | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (redhat/ubi9:9.6) | ✅ success | view |
| Create CUDA Quantum installer (arm64, 12.6) / Validate installer (ubuntu:22.04) | ✅ success | view |
| Create Docker images (amd64) / Documentation | ✅ success | view |
| Create Docker images (amd64) / Validation | ✅ success | view |
| Create Docker images (arm64) / Validation | ✅ success | view |
| Create Python metapackages / Build Python metapackages | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (3.13) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.11) | ✅ success | view |
| Create Python metapackages / Test Python metapackages (12.6, 3.13) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (amd64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (debian:12) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (fedora:42) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10, --user) | ✅ success | view |
| Create Python wheels (arm64, 3.11, 12.6) / Validate wheel (redhat/ubi8:8.10) | ✅ success | view |
Summary
macOS 26 (Tahoe) SDK removed
__has_builtinguards from libc++ headers (e.g.,__builtin_ctzg,__is_nothrow_convertible), making them incompatible with LLVM 16's clang. Additionally, Apple Clang 21 introduced new warnings that break the build under-Werror.This PR fixes both issues so that CUDA-Q builds and passes all tests on macOS 26 with Apple Clang 21.
LLVM libc++ runtimes (SDK 26+)
set_env_defaults.sh: Auto-detect active SDK version viaxcrun --show-sdk-version. When SDK >= 26, includeruntimesinLLVM_PROJECTSto build LLVM's own libc++.cudaq-quake.cpp: Use-nostdinc++to suppress SDK C++ headers when LLVM's libc++ is available, while keeping-isysrootfor C standard headers.nvq++.in: Add-Wl,-syslibrootforld64.lldto findlibSystemin the SDK. Add-lc++abiduring final link when LLVM'slibc++abiis present.build_llvm.sh: Do not bake SDK sysroot paths intoclang++.cfgon macOS (they become stale after Xcode updates). Sysroot is resolved at runtime bynvq++.Relocatable linking
nvq++.in: LLVM 16'sld64.llddoes not implement-r(relocatable linking). Probe the configured linker and fall back to systemldfor the object merge step if needed.device_call.cpp: Update FileCheck pattern to match both Appleldandld64.llderror formats.Apple Clang 21 warnings
CMakeLists.txt: Add-Wno-character-conversionfor gtest (third-party).server_impl/CMakeLists.txt: Add-Wno-deprecated-literal-operatorfor Crow (third-party).cudaq.cpp: Fix-Wnontrivial-memcallonmemsetwithstd::vector<bool>.vqe_tester.cpp: Add missing#pragmato suppress-Wdeprecated-declarationsfor backward-compatibility test (matching existing pattern inbuilder_tester.cpp).