Skip to content

Conversation

@kellyguo11
Copy link
Contributor

Description

The curobo dockerfile recently stopped working and somehow messes with the python/pip builds in the docker image when trying to perform any downstream commands. There could also be some conflicts with the curobo installation and the pytorch build that comes with Isaac Sim.

This change adds in some hacks to the dockerfile to get it working so that we can run the CI tests again. We should look into fixing this dockerfile properly.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I have read and understood the contribution guidelines
  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@kellyguo11 kellyguo11 requested review from njawale42 and removed request for hhansen-bdai and pascal-roth January 26, 2026 21:24
@github-actions github-actions bot added bug Something isn't working infrastructure labels Jan 26, 2026
@kellyguo11
Copy link
Contributor Author

@njawale42 I had to add in some hacks to the curobo dockerfile to get CI running again. Could you please look into how we can redesign this dockerfile nicely to avoid the conflicts and build upon the base container? I think we might also want to think about extending the cuda support to cuda 13 as well.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 26, 2026

Greptile Overview

Greptile Summary

This PR adds temporary fixes to the curobo dockerfile to resolve CI build failures caused by PyTorch conflicts between Isaac Sim's pre-bundled version and cuRobo's requirements.

Key changes:

  • Added missing CUDA dependencies (libcudnn9-cuda-12, libcusparselt0, libnccl2, libnccl-dev, libnvjitlink-12-8) required by cuRobo
  • Removed Isaac Sim's pre-bundled PyTorch before Isaac Lab installation to force a fresh install that's compatible with cuRobo
  • Moved quadprog uninstallation to occur after Isaac Lab installation (better sequencing)

Notes:

  • The PR description acknowledges these are temporary "hacks" that need proper resolution later
  • The torch prebundle removal is fragile and depends on Isaac Sim's internal directory structure remaining stable
  • Consider adding validation to ensure the hacks actually work as intended (e.g., verify torch was removed before proceeding)

Confidence Score: 3/5

  • This PR is moderately safe to merge as a temporary fix for CI, but requires follow-up work
  • The changes are explicitly labeled as temporary hacks to unblock CI testing. While they address the immediate build failures, they introduce fragile workarounds (removing pre-bundled torch, uninstalling quadprog) that depend on internal implementation details. The PR correctly identifies this as needing proper resolution. The additional CUDA dependencies appear necessary and safe. Score reflects that this works for now but isn't a long-term solution.
  • No files require special attention - the single changed file has been reviewed and the temporary nature of the fixes is acknowledged

Important Files Changed

Filename Overview
docker/Dockerfile.curobo Added CUDA dependencies and torch prebundle removal hack to fix CI docker build issues

Sequence Diagram

sequenceDiagram
    participant Base as Base Image
    participant Docker as Dockerfile Build
    participant CUDA as CUDA Installation
    participant Torch as PyTorch/Torch
    participant Isaac as Isaac Lab
    participant CuRobo as cuRobo

    Base->>Docker: Start from Isaac Sim base image
    Docker->>CUDA: Install CUDA toolkit 12.8
    CUDA->>CUDA: Install libcudnn9-cuda-12
    CUDA->>CUDA: Install libcusparselt0
    CUDA->>CUDA: Install libnccl2, libnccl-dev
    CUDA->>CUDA: Install libnvjitlink-12-8
    Docker->>Isaac: Copy Isaac Lab directory
    Docker->>Torch: Remove pre-bundled torch from Isaac Sim
    Note over Torch: HACK: Forces fresh torch install
    Docker->>Isaac: Run isaaclab.sh --install
    Isaac->>Torch: Install PyTorch to site-packages
    Docker->>Isaac: Uninstall quadprog
    Note over Isaac: HACK: Prevents RL framework conflicts
    Docker->>CuRobo: Install cuRobo from source
    CuRobo->>CUDA: Use CUDA 12.8 environment
    CuRobo->>Torch: Link with PyTorch
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

2 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +124 to +127
# HACK: Remove pre-bundled torch BEFORE installing Isaac Lab dependencies.
# This forces isaaclab.sh --install to install torch fresh to site-packages,
# rather than skipping because it detects the pre-bundled version.
RUN rm -rf ${ISAACSIM_ROOT_PATH}/exts/omni.isaac.ml_archive/pip_prebundle/torch*
Copy link
Contributor

Choose a reason for hiding this comment

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

The rm -rf deletion is brittle - if the path structure changes in future Isaac Sim versions, this will silently fail. Consider adding a check to verify the deletion succeeded or at least log a warning if the path doesn't exist.

Comment on lines +134 to +135
# HACK: Uninstall quadprog as it causes issues with some reinforcement learning frameworks
RUN ${ISAACLAB_PATH}/isaaclab.sh -p -m pip uninstall -y quadprog
Copy link
Contributor

Choose a reason for hiding this comment

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

Verify that uninstalling quadprog doesn't break any Isaac Lab features installed in the previous step

@kellyguo11 kellyguo11 merged commit 0f030aa into isaac-sim:main Jan 27, 2026
12 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant