From ecfc56488d0b47b278740b3ed705da9f558f1a01 Mon Sep 17 00:00:00 2001 From: "Ryan M. Richard" Date: Tue, 15 Sep 2026 22:31:06 -0500 Subject: [PATCH] DIAGNOSTIC ONLY -- do not merge: resolve ecosystem from source Attributes the macos-14/clang-18 segfault in test_cmake_build. The four legs currently fail because `extra_pip_packages: nwchemex` installs the published wheels before configure, so nwx_ecosystem_dependency takes its installed-wheel branch and the C++ build links prebuilt binaries built by a different toolchain than the dev matrix uses: - ubuntu gcc-14/clang-18: wheels are manylinux2014 (old libstdc++ COW std::string ABI), the runners default to the new one. - macos-14 gcc-14: wheels are libc++, Homebrew gcc is libstdc++. - macos-14 clang-18: libc++ on both sides, so it links -- then every test segfaults, and we do not know why. Setting NWX_ECOSYSTEM_FROM_SOURCE=ON skips the installed-wheel branch entirely, so every leg compiles the ecosystem from git master with one compiler and the ABI variable disappears. That isolates the last case: if macos-14/clang-18 still segfaults it is the pre-existing SCF#70 pybind11 issue; if it goes green the segfault was itself an ABI artifact (likely Homebrew LLVM's libc++ against the SDK libc++ the wheels were built with), which would mean the standard library is not a single axis and the planned per-stdlib wheel variants would not be sufficient. Co-Authored-By: Claude Opus 5 --- .github/workflows/pull_request.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index 921cef9..7e670cd 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -45,7 +45,7 @@ jobs: uses: NWChemEx/.github/.github/workflows/test_nwx_cmake_build.yaml@master with: run_python_tests: "true" - cmake_opts: "-DINTEGRATION_TESTING=ON" + cmake_opts: "-DINTEGRATION_TESTING=ON -DNWX_ECOSYSTEM_FROM_SOURCE=ON" python_version: "3.12" extra_pip_packages: "nwchemex" allow_macos_failure: "true"