Troubleshooting¶
uv run eval ...orpython -c 'import torch'fails insidenix developwith:ImportError: libstdc++.so.6: cannot open shared object file: No such file or directory
Cause A previous version of the Nix dev shell only prepended CUDA paths to
LD_LIBRARY_PATH. Fresh shells could then miss the rest of the Nix userspace runtime, includinglibstdc++.so.6, Python shared libraries, FFmpeg, and related native dependencies.Fix Update to the current dev shell and reload it:
cd ~/SIMPLE direnv reload
Verify the full runtime is present:
uv run python - <<'PY' import torch print(torch.__version__) PY
If you need to run
nixfrom inside an already-loaded dev shell, prefer:env -u LD_LIBRARY_PATH nix --extra-experimental-features "nix-command flakes" develop
This avoids making
nixitself load the project runtime libraries.If this is a brand new host, run:
./scripts/nix/prereq-check.sh
before debugging further.
nix developitself fails before entering the shell with:nix: …/libstdc++.so.6: version `CXXABI_1.3.15’ not found
Cause This is usually not a project dependency problem. It means the outer shell is exporting a polluted
LD_LIBRARY_PATH, so thenixbinary is loading the wronglibstdc++.so.6before it can even enter the dev shell.Fix Run
nixwithLD_LIBRARY_PATHcleared:env -u LD_LIBRARY_PATH nix --extra-experimental-features "nix-command flakes" develop
For single-command entry:
env -u LD_LIBRARY_PATH nix --extra-experimental-features "nix-command flakes" develop -c <command>
To confirm the diagnosis:
echo "$LD_LIBRARY_PATH" env -u LD_LIBRARY_PATH nix --version
If clearing
LD_LIBRARY_PATHfixes it, open a fresh shell or remove the global export from your shell startup files before re-entering the repo.Isaac Sim fails to initialize the GPU or
vulkaninfoshows:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER
Failed to create any GPU devices
libGLX_nvidia.so.0: cannot open shared object file
Cause The host Vulkan ICD JSON points to NVIDIA driver libraries such as
libGLX_nvidia.so.0, but those driver libraries are not visible inside the dev shell runtime.Fix The dev shell now stages required host NVIDIA driver libraries into
.runtime-state/host-libcudaand prepends only that shim directory toLD_LIBRARY_PATH. Reload the shell:cd ~/SIMPLE direnv reload
Verify Vulkan inside the dev shell:
vulkaninfo --summaryExpected result:
Vulkan instance creation succeeds
the NVIDIA GPU appears in the device list
If this still fails after reload, check that the host actually provides the NVIDIA driver libraries:
ls -l /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0 ls -l /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1
uv syncfailed with error:× Failed to download
isaacsim-cortex==4.5.0.0├─▶ Failed to extract archive: isaacsim_cortex-4.5.0.0-cp310-none-manylinux_2_34_x86_64.whl ├─▶ I/O operation failed during extraction ╰─▶ Failed to download distribution due to network timeout. Try increasing UV_HTTP_TIMEOUT (current value:30s). help:isaacsim-cortex(v4.5.0.0) was included becausesimple(v0.1.0) depends onisaacsim[all](v4.5.0.0) which depends on `isaacsim-cortexSolution set
uvtimeout andsyncagain.export UV_HTTP_TIMEOUT=300 uv sync
The dev shell exits early with:
[simple-dev] error: LD_LIBRARY_PATH contains non-runtime paths: …
[bootstrap] PYTHONPATH must be unset inside the Nix runtime
Cause The Nix runtime now enforces a strict boundary. Only
/nix/storeuserspace and the required host NVIDIA driver paths are allowed. Inherited host Python overrides and injected loader state are rejected because they cause non-reproducible host-specific breakage.Fix Remove the leaking variables from your outer shell and reload:
unset PYTHONPATH PYTHONHOME LD_PRELOAD direnv reload
To inspect the bad runtime entries before reload:
printf '%s\n' "${LD_LIBRARY_PATH:-}" | tr ':' '\n'
curoboinstalltion error:RuntimeError: The detected CUDA version (11.8) mismatches the version that was used to compile PyTorch (12.8). Please make sure to use the same CUDA versions.
Solution Install
cudaverison 12.8.wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run sudo sh cuda_12.8.0_570.86.10_linux.run
curoboinstallation error:RuntimeError: CUDA error: misaligned address CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect. For debugging consider passing CUDA_LAUNCH_BLOCKING=1
Solution try install curobo again.
TORCH_CUDA_ARCH_LIST=8.9+PTX uv pip install --no-build-isolation -e ".[isaacsim]"
uv pip install torch==2.7.0 --extra-index-url https://pypi.nvidia.com❯ UV_HTTP_CONCURRENCY=1 uv pip install torch==2.7.0 –extra-index-url https://pypi.nvidia.com Resolved 25 packages in 808ms × Failed to download
torch==2.7.0├─▶ Failed to write to the distribution cache ├─▶ error decoding response body ├─▶ request or response body error ├─▶ error reading a body from connection ╰─▶ connection resetSolution
rm -rf ~/.cache/uv # install again
Errors starts
IsaacSim2025-08-28 23:35:04 [8,352ms] [Error] [omni.ext.plugin] Could not load the dynamic library from /home/songlin/workspace/SIMPLE/.venv/lib/python3.10/site-packages/isaacsim/extscache/omni.iray.libs-0.0.0+d02c707b.lx64.r/bin/iray/libneuray.so. Error: libGLU.so.1: cannot open shared object file: No such file or directory (note that this may be caused by a dependent library)
Solution Install
libglusudo apt-get install libglu1-mesa
GLFWError: (65537) b’The GLFW library is not initialized’
Usually, this happens on a headless server when running mujoco
Solution Use
EGLexport MUJOCO_GL=egl
Fatal Python error: Segmentation fault when calling
world.reset()It happens when you run IsaacSim on a headless Server with headless set to False.
Solution
# make sure headless is True.Erorr install CuRobo
fatal error: Python.h: No such file or directory 12 | #include <Python.h> | ^~~~~~~~~~
Solution
sudo apt-get install python3-dev
ImportError: libgmpxx.so.4: cannot open shared object file: No such file or directory
Solution
sudo apt install libgmp-dev libgmp10
× No solution found when resolving dependencies for split (markers: python_full_version == ‘3.10.*’ and sys_platform == ‘darwin’): ╰─▶ Because only cmake==3.25.0 is available and lerobot==0.3.3 depends on cmake>=3.29.0.1, we can conclude that lerobot==0.3.3 cannot be used. And because simple:lerobot depends on lerobot==0.3.3 and your project requires simple:lerobot, we can conclude that your project’s requirements are unsatisfiable.
Solution
uv sync --group lerobot --index-strategy unsafe-best-match
2025-10-18 22:38:03 [33,607ms] [Error] [omni.kit.app._impl] [py stderr]: TypeError: array.init() got an unexpected keyword argument ‘owner’
Solution Downgrade warp-lang
uv pip install "warp-lang==1.7.0" --index-strategy unsafe-best-match