Describe the issue
The bug: CUDA 13.2's bundled CCCL headers have a C++ syntax error in /usr/local/cuda/targets/sbsa-linux/include/cccl/cub/device/device_transform.cuh line 44:
struct ::cuda::proclaims_copyable_arguments<...> : ::cuda::std::true_type
The struct ::cuda::... global qualification is invalid C++ when specializing a class template. GCC correctly rejects it.
The fix: The patch in build.sh (lines 96-102) detects the buggy header and strips the leading :: from the struct specialization before the build starts:
build.sh
Lines 100-101
echo "Patching CCCL device_transform.cuh (removing invalid global qualification)"
sed -i 's/struct ::cuda::proclaims_copyable_arguments/struct cuda::proclaims_copyable_arguments/g' "$CCCL_HEADER"
The guard (-f check + grep) ensures it's a no-op if the header doesn't exist or has already been fixed in a future CUDA version.
Note: If other packages also fail with this same error on cu132 SBSA, you may want to centralize this fix in packages/cuda/cuda/Dockerfile (as a post-install RUN step) so all downstream images get the patched header. For now, the onnxruntime build should proceed past this point.
Urgency
No response
Target platform
DGX Spark
Build script
as document
Error / output
Failed build
Visual Studio Version
No response
GCC / Compiler Version
No response
Describe the issue
The bug: CUDA 13.2's bundled CCCL headers have a C++ syntax error in /usr/local/cuda/targets/sbsa-linux/include/cccl/cub/device/device_transform.cuh line 44:
struct ::cuda::proclaims_copyable_arguments<...> : ::cuda::std::true_type
The struct ::cuda::... global qualification is invalid C++ when specializing a class template. GCC correctly rejects it.
The fix: The patch in build.sh (lines 96-102) detects the buggy header and strips the leading :: from the struct specialization before the build starts:
build.sh
Lines 100-101
echo "Patching CCCL device_transform.cuh (removing invalid global qualification)"
sed -i 's/struct ::cuda::proclaims_copyable_arguments/struct cuda::proclaims_copyable_arguments/g' "$CCCL_HEADER"
The guard (-f check + grep) ensures it's a no-op if the header doesn't exist or has already been fixed in a future CUDA version.
Note: If other packages also fail with this same error on cu132 SBSA, you may want to centralize this fix in packages/cuda/cuda/Dockerfile (as a post-install RUN step) so all downstream images get the patched header. For now, the onnxruntime build should proceed past this point.
Urgency
No response
Target platform
DGX Spark
Build script
as document
Error / output
Failed build
Visual Studio Version
No response
GCC / Compiler Version
No response