From f666e54eb0991510127c4f74c575c4122e01f4d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Roche?= Date: Mon, 15 Jun 2026 17:19:09 +0200 Subject: [PATCH] cudaPackages.libnvshmem: default withNccl to nccl.meta.available `withNccl` defaults to `true`, unconditionally adding `nccl` to `buildInputs`. This is problematic on platforms where NCCL is unavailable, such as pre-Thor Jetson (Orin), where `nccl.meta.available` is `false` due to its `badPlatforms` assertion. In such cases, libnvshmem would still pull the unavailable `nccl` into its closure, leading to an eval-time error. We are changing the default to `nccl.meta.available` to make libnvshmem skip NCCL automatically on platforms where NCCL is unsupported. We preserving the existing behaviour everywhere else (x86_64-linux, Thor Jetson) where `nccl.meta.available` is `true`. Note that this guard has already been added to other CUDA modules such as `cudaPackages.cudss` in #437723. --- pkgs/development/cuda-modules/packages/libnvshmem.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/cuda-modules/packages/libnvshmem.nix b/pkgs/development/cuda-modules/packages/libnvshmem.nix index ddc8953b0232..b9635e5f6324 100644 --- a/pkgs/development/cuda-modules/packages/libnvshmem.nix +++ b/pkgs/development/cuda-modules/packages/libnvshmem.nix @@ -32,7 +32,7 @@ withIbgda ? true, withLibfabric ? true, withMpi ? true, - withNccl ? true, + withNccl ? nccl.meta.available, withPmix ? true, withUcx ? true, }: