Skip to content

[BUG]: libcugraph 26.04 nightly wheels fail to load with older nvidia-nvjitlink installed (CUDA 13 only) #5443

@jameslamb

Description

@jameslamb

Version

26.04

Which installation method(s) does this occur on?

Pip

Describe the bug.

The latest libcugraph-cu13 wheels fail to load with errors like this:

libcugraph.so: undefined symbol: __nvJitLinkGetErrorLog_13_1, version libnvJitLink.so.13

If the libnvJitLink.so.13 found by the loader is older than the one libcugraph was built against.

I found this while working on rapidsai/cugraph-gnn#413 because PyTorch packages are == pinned to older nvidia-nvjitlink packages.

This behavior makes the latest cugraph / libcugraph / pylibcugraph packages uninstallable with any CUDA variants of torch<=2.10, which will affect cugraph-pyg.

Minimum reproducible example

Setting up the environment:

docker run \
    --rm \
    --gpus all \
    -it rapidsai/citestwheel:26.04-cuda13.1.1-rockylinux8-py3.11 \
    bash

# torch==2.10.0+cu130 requires 'nvidia-nvjitlink==13.0.88', just directly
# specifying that here to make the example smaller
pip install \
    --prefer-binary \
    'nvidia-nvjitlink==13.*,<13.1' \
    'pylibcugraph-cu13==26.4.*,>=26.4.0a32'

Import pylibcugraph fails like this:

$ python -c "import pylibcugraph"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/pyenv/versions/3.11.14/lib/python3.11/site-packages/pylibcugraph/__init__.py", line 15, in <module>
    import pylibcugraph.comms
  File "/pyenv/versions/3.11.14/lib/python3.11/site-packages/pylibcugraph/comms/__init__.py", line 4, in <module>
    from .comms_wrapper import init_subcomms
ImportError: libcugraph.so: cannot open shared object file: No such file or directory

But note that's misleading (will be fixed in rapidsai/build-planning#119) ... the real error looks like this:

$ python -c "import libcugraph; import libraft; libraft.load_library(); print(libcugraph.load._load_wheel_installation('libcugraph.so'))"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/pyenv/versions/3.11.14/lib/python3.11/site-packages/libcugraph/load.py", line 30, in _load_wheel_installation
    return ctypes.CDLL(lib, PREFERRED_LOAD_FLAG)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/pyenv/versions/3.11.14/lib/python3.11/ctypes/__init__.py", line 376, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /pyenv/versions/3.11.14/lib/python3.11/site-packages/libcugraph/lib64/libcugraph.so: undefined symbol: __nvJitLinkGetErrorLog_13_1, version libnvJitLink.so.13

Upgrading to a newer nvidia-nvjitlink resolves this.

$ pip install 'nvidia-nvjitlink==13.*,>=13.1'
$ python -c "import pylibcugraph; print(pylibcugraph.__version__)"
26.04.00a32

Relevant log output

N/A

Environment details

pip list (click me)
$ pip list
Package                          Version
-------------------------------- ---------
attrs                            25.4.0
certifi                          2026.1.4
cuda-bindings                    13.1.1
cuda-pathfinder                  1.3.5
cuda-python                      13.1.1
cuda-toolkit                     13.0.2
cupy-cuda13x                     14.0.1
jsonschema                       4.26.0
jsonschema-specifications        2025.9.1
libcugraph-cu13                  26.4.0a32
libraft-cu13                     26.4.0a35
librmm-cu13                      26.4.0a47
numpy                            2.4.2
nvidia-cublas                    13.1.0.3
nvidia-curand                    10.4.0.35
nvidia-cusolver                  12.0.4.66
nvidia-cusparse                  12.6.3.3
nvidia-nccl-cu13                 2.29.3
nvidia-nvjitlink                 13.0.88
pip                              26.0.1
pylibcugraph-cu13                26.4.0a32
pylibraft-cu13                   26.4.0a35
PyYAML                           6.0.3
rapids-dependency-file-generator 1.20.2
rapids-logger                    0.2.3
referencing                      0.37.0
rmm-cu13                         26.4.0a47
rpds-py                          0.30.0
setuptools                       79.0.1
tomlkit                          0.14.0
typing_extensions                4.15.0

Other/Misc.

I suspect the root cause is somewhere around this change:

And that libcugraph wheel metadata just needs to be updated like this:

Other related issues / conversations:

Code of Conduct

  • I agree to follow cuGraph's Code of Conduct
  • I have searched the open bugs and have found no duplicates for this bug report

Metadata

Metadata

Assignees

Labels

? - Needs TriageNeed team to review and classifybugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions