Skip to content

test: isolate library wheel smoke test - #5608

Merged
rapids-bot[bot] merged 6 commits into
rapidsai:mainfrom
bdice:isolate-library-wheel-smoke-test
Aug 31, 2026
Merged

test: isolate library wheel smoke test#5608
rapids-bot[bot] merged 6 commits into
rapidsai:mainfrom
bdice:isolate-library-wheel-smoke-test

Conversation

@bdice

@bdice bdice commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Description

Install the library wheel in a clean virtual environment and call its load_library() entry point before installing the high-level wheel or test extras. This exposes missing library-wheel runtime dependencies that the full test environment can otherwise mask.

xref: rapidsai/build-planning#307

@bdice bdice added non-breaking Non-breaking change improvement Improvement / enhancement to an existing function labels Jul 24, 2026
@copy-pr-bot

copy-pr-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@bdice

bdice commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 5825636

@bdice

bdice commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 5d4d61d

@bdice

bdice commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 21150af

@bdice
bdice marked this pull request as ready for review August 18, 2026 19:36
@bdice
bdice requested a review from a team as a code owner August 18, 2026 19:36
@bdice
bdice requested a review from KyleFromNVIDIA August 18, 2026 19:36
@jameslamb
jameslamb removed the request for review from KyleFromNVIDIA August 19, 2026 01:11
@jameslamb

Copy link
Copy Markdown
Member

CI got stuck here in the latest GitHub outage, just merged in latest main to trigger a new run. I'll check back in a bit.

@jameslamb jameslamb self-assigned this Aug 27, 2026
--prefer-binary \
--constraint "${PIP_CONSTRAINT}" \
"${LIBCUGRAPH_WHEELHOUSE}"/libcugraph*.whl
python -c "import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is failing only for CUDA 12 right now.

+ python -c 'import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError

(build link)

I could reproduce that locally.

docker run \
  --rm \
  --gpus all \
  -it rapidsai/citestwheel:26.10-cuda12.9.2-rockylinux8-py3.13 \
  bash

pip install \
  --extra-index-url https://pypi.anaconda.org/rapidsai-wheels-nightly/simple/ \
  'libcugraph-cu12>=26.10.0a0'

python -c "import libcugraph; assert (libraries := libcugraph.load_library()) and all(libraries)"

Picking through the internals of libcugraph.load_library(), the root error is from loading libcuvs.so.

>>> lib = "/pyenv/versions/3.13.15/lib/python3.13/site-packages/libcuvs/lib64/libcuvs.so"
... ctypes.CDLL(lib, ctypes.RTLD_LOCAL)
... 
Traceback (most recent call last):
  File "<python-input-2>", line 2, in <module>
    ctypes.CDLL(lib, ctypes.RTLD_LOCAL)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/pyenv/versions/3.13.15/lib/python3.13/ctypes/__init__.py", line 361, in __init__
    self._handle = self._load_library(name, mode, handle, winmode)
                   ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/pyenv/versions/3.13.15/lib/python3.13/ctypes/__init__.py", line 403, in _load_library
    return _dlopen(name, mode)
OSError: libnvrtc.so.12: cannot open shared object file: No such file or directory

libcuvs is missing cuda-pathfinder, which it needs to load nvRTC. I put up a fix here: NVIDIA/cuvs#2524

Once that's merged, we should see CI pass on a re-run here... in my local environment, just running pip install cuda-pathfinder was sufficient for libcugraph.load_library() to succeed.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seeing jobs pass now that that cuVS fix was merged. I'll queue this to merge.

@jameslamb

Copy link
Copy Markdown
Member

/merge

@rapids-bot
rapids-bot Bot merged commit 0648476 into rapidsai:main Aug 31, 2026
159 of 165 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants