Add libcurand-devel to manylinux wheel builds#185
Merged
Conversation
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 10, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
rsasaki0109
added a commit
that referenced
this pull request
Jun 11, 2026
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 11, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With the NVIDIA repo install fixed (#184), cibuildwheel reached CMake for the first time and exposed the next gap: python/CMakeLists.txt links CUDA::curand but the build container only installed cuda-cudart-devel, so the imported target does not exist and configure fails. Install libcurand-devel-12-0 alongside it in both before-all blocks. Verified in quay.io/pypa/manylinux2014_x86_64: libcurand.so present under /usr/local/cuda/lib64 after install.
rsasaki0109
added a commit
that referenced
this pull request
Jun 17, 2026
With curand fixed (#185), the x86_64 cp310/cp312 wheels now compile, but cibuildwheel then moves on to manylinux2014_i686 — and NVIDIA ships no 32-bit CUDA packages, so the before-all yum install dies with 'Not tolerating missing names on install'. Add *i686* to both skip lists; CUDA wheels are x86_64-only.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #184. With the NVIDIA repo install fixed, the
cibuildwheeljob got pastbefore-allfor the first time and exposed the next missing piece:python/CMakeLists.txtlinksCUDA::curand, but the manylinux container only installscuda-cudart-devel-12-0, so CMake fails at configure with "Target _cudarobotics links to CUDA::curand but the target was not found" (failing run).Add
libcurand-devel-12-0to the yum install in bothCIBW_BEFORE_ALL_LINUX(workflow) and[tool.cibuildwheel.linux] before-all(pyproject).Verification
Ran the full new before-all sequence in
quay.io/pypa/manylinux2014_x86_64:libcurand.so/.so.10present under/usr/local/cuda/lib64. Thebuild-and-testjobs (which run on PRs) already build against a full CUDA toolkit and are unaffected; the cibuildwheel proof lands on the post-merge master run.