Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jasongill/fef55cb769657bf36d0bb20ada742249 to your computer and use it in GitHub Desktop.
Save jasongill/fef55cb769657bf36d0bb20ada742249 to your computer and use it in GitHub Desktop.
Fixing the "libnvdla_compiler.so" on Jetson devices

If you, like me, just got a new Nvidia Jetson Orin Nano Super Developer Kit and are struggling to get the examples provided by Nvidia to run due to the following error:

ImportError: libnvdla_compiler.so: cannot open shared object file: No such file or directory

then you probably don't want to have to deal with downgrading the flashed version of things just to see if it will work. The issue is that the libnvdla_compiler.so file is not included in the latest (36.4.2 as of this writing) version of the Jetpack software which you're instructed to install to upgrade the firmware on the device.

The fix is to grab the file from the .deb file from the previous version. Running the following command will fix the issue:

wget -O - https://repo.download.nvidia.com/jetson/common/pool/main/n/nvidia-l4t-dla-compiler/nvidia-l4t-dla-compiler_36.4.1-20241119120551_arm64.deb | dpkg-deb --fsys-tarfile - | sudo tar xv --strip-components=5 --directory=/usr/lib/aarch64-linux-gnu/nvidia/ ./usr/lib/aarch64-linux-gnu/nvidia/libnvdla_compiler.so

You may be prompted to enter your password (or, if nothing seems to be happening, sudo may be waiting for you to enter your password), as the last command in the one-liner requires root access to copy files into the /usr/lib/aarch64-linux-gnu/nvidia/ directory.

This command will extract the required libnvdla_compiler.so file from the previous version's .deb file into the proper location in /usr/lib/aarch64-linux-gnu/nvidia/

No edits are required to the .csv files in /etc/nvidia-container-runtime/host-files-for-container.d/ - those already list the /usr/lib/aarch64-linux-gnu/nvidia/libnvdla_compiler.so path, but since the .so file doesn't exist in 36.4.2 it can't be copied in to your Docker containers.

By pulling the libnvdla_compiler.so in from the previous version, then re-running your docker or jetson-containers command, the library should be injected into the container and the error should go away.

@christopherkao
Copy link

Thank you! Model citizen and thank you for making it better for everyone else.

@christopherkao
Copy link

In case anyone's terminal hangs when running this command, type in your password and press enter, and it will complete.

@foresight-vladt
Copy link

Thank you !

@darzee76
Copy link

darzee76 commented May 6, 2025

Thanks!

@eli-percepto
Copy link

eli-percepto commented May 7, 2025

Nice solution!
Thank you for the effort finding it and also sharing.

@jack-slip
Copy link

Goated for this

@shchoi00
Copy link

Thank you so much!

@mbed92
Copy link

mbed92 commented Jun 9, 2025

Worked for me, except I had to change the directory to --directory=/usr/lib/aarch64-linux-gnu/tegra/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment