-
Notifications
You must be signed in to change notification settings - Fork 345
Description
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 directoryBut 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.13Upgrading to a newer nvidia-nvjitlink resolves this.
$ pip install 'nvidia-nvjitlink==13.*,>=13.1'
$ python -c "import pylibcugraph; print(pylibcugraph.__version__)"
26.04.00a32Relevant 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.0Other/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:
- [BUG] Unable to install via pip in uv environment for 26.2 cuml#7796
- Unpin nvjitlink from ctk version NVIDIA/numba-cuda#809
- Ensuring CTK minor version compatibility for cccl.c.parallel NVIDIA/cccl#4851
- Use cuda-toolkit for multiple linux cuda packages pytorch/pytorch#174390
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