Repository navigation
[Bug Report] Isaaclab libcublas & libcudart bug in isaac-sim. Docker installation #6593
Description
Describe the bug
Building and running Isaac Lab through the standard Docker workflow (docker/container.py start, unmodified docker/Dockerfile.base), ./isaaclab.sh --sim fails to load two extensions with libcublas.so.*[0-9] not found / libcudart.so.12: cannot open shared object file. The app still finishes loading ("app ready" / "Isaac Sim Full App is loaded"), but isaacsim.core.simulation_manager and isaacsim.ros2.bridge never actually start:
Steps to reproduce
git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
python3 docker/container.py start
python3 docker/container.py enter base
./isaaclab.sh --simThis gives the following error:
2026-07-17T18:50:04Z [1,907ms] [Error] [omni.ext._impl._internal] Failed to import python module isaacsim.core.simulation_manager from /isaac-sim/exts/isaacsim.core.simulation_manager. Error: libcublas.so.*[0-9] not found in the system path [...]
...
OSError: libcudart.so.12: cannot open shared object file: No such file or directory
...
2026-07-17T18:50:09Z [7,212ms] [Error] [omni.ext.plugin] [ext: isaacsim.ros2.bridge-4.12.4] Failed to startup python extension.
2026-07-17T18:50:09Z [7,356ms] [Error] [omni.graph.core._impl.extension] OGN node registration completed with errors: libcublas.so.*[0-9] not found in the system path [...]
Note: Tutorial "Train your first robot in Isaac Lab" scripts (e.g. ./isaaclab.sh -p scripts/skrl/train.py --task=Template-Cartpole-v0 and play.py) run without this error in the same container even though it's using isaac-sim. This might be because those scripts import torch at the top of the script, before Isaac Sim's extensions load. Once torch has successfully imported once, any later import torch from inside an extension just reuses it and the failure never surfaces. ./isaaclab.sh --sim launches the standalone Isaac Sim app directly with no user script, so isaacsim.core.simulation_manager is the first thing to import torch, and that's where it fails with above error.
After checking, I found out that cuda pip packages are not installed inside for this kit-interpreter (one that's running isaac-sim.) See the comparison of default python interpreter packages and one that's inside /isaac-sim below.
root@root:/# /isaac-sim/kit/python/bin/python3 -m pip list 2>/dev/null | grep -iE "torch|nvidia-cu"
nvidia-cublas 13.1.1.3
nvidia-cuda-cupti 13.0.85
nvidia-cuda-nvrtc 13.0.88
nvidia-cuda-runtime 13.0.96
nvidia-cudnn-cu13 9.20.0.48
nvidia-cufft 12.0.0.61
nvidia-cufile 1.15.1.6
nvidia-curand 10.4.0.35
nvidia-cusolver 12.0.4.66
nvidia-cusparse 12.6.3.3
nvidia-cusparselt-cu13 0.8.1
torch 2.7.0+cu128
torchvision 0.22.0+cu128
root@root:/# python3 -m pip list 2>/dev/null | grep -iE "torch|nvidia-cu"
nvidia-cublas 13.1.1.3
nvidia-cublas-cu12 12.8.3.14
nvidia-cuda-cupti 13.0.85
nvidia-cuda-cupti-cu12 12.8.57
nvidia-cuda-nvrtc 13.0.88
nvidia-cuda-nvrtc-cu12 12.8.61
nvidia-cuda-runtime 13.0.96
nvidia-cuda-runtime-cu12 12.8.57
nvidia-cudnn-cu12 9.7.1.26
nvidia-cudnn-cu13 9.20.0.48
nvidia-cufft 12.0.0.61
nvidia-cufft-cu12 11.3.3.41
nvidia-cufile 1.15.1.6
nvidia-cufile-cu12 1.13.0.11
nvidia-curand 10.4.0.35
nvidia-curand-cu12 10.3.9.55
nvidia-cusolver 12.0.4.66
nvidia-cusolver-cu12 11.7.2.55
nvidia-cusparse 12.6.3.3
nvidia-cusparse-cu12 12.5.7.53
nvidia-cusparselt-cu12 0.6.3
nvidia-cusparselt-cu13 0.8.1
torch 2.7.0+cu128
torchvision 0.22.0+cu128System Info
Describe the characteristic of your environment:
- IsaacLab:
main, Docker workflow,Dockerfile.baseunmodified. - Isaac Sim Version: 5.1.0-rc.19+release.26219.9c81211b.gl
- OS: Ubuntu 26.04
- GPU: . RTX 5090
- CUDA: 12.8
- GPU Driver: e.g. 580.159.03
Workaround
Installing the matching -cu12 packages into the kit-bundled python fixes it. This is the modification in the Dockerfile.base file:
# Fix CUDA 12 runtime lib mismatch for Isaac Sim's bundled Kit-python torch
# (see https://github.com/isaac-sim/IsaacLab/pull/4462 for a related upstream issue)
RUN /isaac-sim/kit/python/bin/python3 -m pip install \
nvidia-cublas-cu12==12.8.3.14 \
nvidia-cuda-cupti-cu12==12.8.57 \
nvidia-cuda-nvrtc-cu12==12.8.61 \
nvidia-cuda-runtime-cu12==12.8.57 \
nvidia-cudnn-cu12==9.7.1.26 \
nvidia-cufft-cu12==11.3.3.41 \
nvidia-cufile-cu12==1.13.0.11 \
nvidia-curand-cu12==10.3.9.55 \
nvidia-cusolver-cu12==11.7.2.55 \
nvidia-cusparse-cu12==12.5.7.53 \
nvidia-cusparselt-cu12==0.6.3
right after
RUN --mount=type=cache,target=${DOCKER_USER_HOME}/.cache/pip \
${ISAACLAB_PATH}/isaaclab.sh --install
and before
# HACK: Remove install of quadprog dependency
RUN ${ISAACLAB_PATH}/isaaclab.sh -p -m pip uninstall -y quadprog
Checklist
- I have checked that there is no similar issue in the repo (required)
- I have checked that the issue is not in running Isaac Sim itself and is related to the repo
Acceptance Criteria
Not known now. Is this the proper fix, or is there another fix for this.
Activity
RandomOakForest commentedon Jul 22, 2026
Thank you for posting this. The team will review it.
maxkra15 commentedon Sep 22, 2026
Thanks @aabs7 for the detailed diagnosis. This was fixed by #7405 and backported to 3.0 in #7851: Docker dependencies now live in an isolated, locked environment instead of modifying the bundled Isaac Sim Python/CUDA packages, including for the raw simulator launch path. I also verified that a current
origin/developDocker build startsisaacsim.core.simulation_managerand initializes CUDA without the reportedlibcublas,libcudart, extension-loading, or OGN errors. Closing as fixed; please reopen if the standard current image still reproduces it.