Jetson Orin Nano Dev Kit – Jupyter Notebook Library Error
Issue Overview
Users have reported encountering an error related to the JupyterLab environment on the Jetson Orin Nano Dev Kit. Specifically, the error message reads: OSError: libcurand.so.10: cannot open shared object file: No such file or directory. This issue arises when attempting to run JupyterLab while working with the Jetson Orin Nano, which is equipped with Ubuntu 20.04, JetPack 5.1.2, and L4T 35.4.1. The problem appears to be linked to the CUDA library paths, as users have found the required library files located in /usr/local/cuda-11.4
, but JupyterLab fails to locate them, leading to interruptions in workflow and functionality.
Possible Causes
-
Library Path Issues: The error indicates that JupyterLab cannot find
libcurand.so.10
, which suggests that the library path may not be correctly set or recognized by the environment. -
Incompatibility with JetPack Versions: Running containers or applications built for JetPack 4 on JetPack 5 can lead to compatibility issues, as mentioned by users in the forum discussion.
-
Docker Container Configuration: Users attempting to run JupyterLab through Docker may not have the correct container setup or dependencies installed, leading to runtime errors.
-
Missing Dependencies: Some users noted that additional dependencies (e.g.,
jetcam
) might be required for proper operation within the container. -
User Misconfiguration: Incorrect configurations during setup or execution of commands can lead to such errors, especially if users are unfamiliar with Docker or JupyterLab environments.
Troubleshooting Steps, Solutions & Fixes
-
Verify Library Installation:
- Check if
libcurand.so.10
is present in the expected directory:find /usr/local/cuda-11.4 -name "libcurand.*"
- If missing, ensure CUDA is properly installed.
- Check if
-
Set Environment Variables:
- Update your environment variables to include the CUDA library paths:
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH
- Add this line to your
.bashrc
file for persistence across sessions.
- Update your environment variables to include the CUDA library paths:
-
Use Compatible Docker Containers:
- Instead of using containers built for JetPack 4, switch to using containers designed for JetPack 5:
sudo docker run --runtime nvidia -it --rm --network host --volume ~/nvdli-data:/nvdli-nano/data --device /dev/video0 nvcr.io/nvidia/dli/dli-nano-ai:v2.0.2-r32.7.1
- This command runs a container that has been confirmed to work with JetPack 5.
- Instead of using containers built for JetPack 4, switch to using containers designed for JetPack 5:
-
Install Missing Dependencies:
- If additional libraries like
jetcam
are needed, install them within your Docker container:pip install jetcam
- If additional libraries like
-
Check for Updates:
- Ensure that you are using the latest version of JetPack and JupyterLab by checking NVIDIA’s documentation and repositories.
-
Consult Documentation and Community Resources:
- Refer to NVIDIA’s official documentation for guidance on setting up and troubleshooting Docker containers and JupyterLab on Jetson devices.
- Engage with community forums for shared experiences and solutions from other users facing similar issues.
-
Testing Different Configurations:
- If problems persist, try running JupyterLab outside of Docker or testing with different hardware configurations to isolate the issue.
-
Recommended Approach:
- Many users have successfully resolved similar issues by switching to compatible Docker containers tailored for their specific JetPack version, highlighting this as a recommended approach.
By following these steps, users should be able to diagnose and potentially resolve the issues they are experiencing with JupyterLab on the Jetson Orin Nano Dev Kit effectively.