On several feedstocks I've seen CUDA on aarch rely on newer glibc symbols than 2.17.
For example, on the pycuda feedstock, this looks like
from pycuda._driver import * # noqa
ImportError: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by $PREFIX/lib/python3.10/site-packages/pycuda/../../../libcurand.so.10)
though interestingly it only happens for CUDA 11.8 and not 12.0 (on the faiss feedstock it was the other way around; in any case, it needs quite some gymnastics to override).
However, when doing that for 11.8 (again example is pycuda), I get:
Could not solve for environment specs
The following packages are incompatible
├─ nvcc_linux-aarch64 11.8.* is installable and it requires
│ └─ sysroot_linux-aarch64 2.17.* , which can be installed;
└─ sysroot_linux-aarch64 2.28.* is not installable because it conflicts with any installable versions previously reported.
So CUDA 11.8 may require symbols from glibc 2.27, but nvcc cannot be installed with a newer sysroot? It sounds to me like we should either loosen the version-constraint, or build two variants (one with 2.17, one with 2.28).
On several feedstocks I've seen CUDA on aarch rely on newer glibc symbols than 2.17.
For example, on the pycuda feedstock, this looks like
though interestingly it only happens for CUDA 11.8 and not 12.0 (on the faiss feedstock it was the other way around; in any case, it needs quite some gymnastics to override).
However, when doing that for 11.8 (again example is pycuda), I get:
So CUDA 11.8 may require symbols from glibc 2.27, but
nvcc
cannot be installed with a newer sysroot? It sounds to me like we should either loosen the version-constraint, or build two variants (one with 2.17, one with 2.28).