Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jasongill/fef55cb769657bf36d0bb20ada742249 to your computer and use it in GitHub Desktop.

Select an option

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.

@RaubCamaioni

Copy link
Copy Markdown

Was having troubles building l4t-torch container from jetson-containers because of missing libnvdla_compiler.so
Pulling the libnvdla_compiler.so from the deb fixed the issue.
Thanks for sharing.

@tonynajjar

Copy link
Copy Markdown

Thanks for that fix! I was facing the same issue. I can't seem to find any official channel mentioning this as a known issue which is odd. I hope it gets fixed upstream

@LyzKeepTrying

Copy link
Copy Markdown

Thank you so much!

@christopherkao

Copy link
Copy Markdown

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

@christopherkao

Copy link
Copy Markdown

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
Copy Markdown

Thank you !

@darzee76

darzee76 commented May 6, 2025

Copy link
Copy Markdown

Thanks!

@eli-percepto

eli-percepto commented May 7, 2025

Copy link
Copy Markdown

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

@jack-slip

Copy link
Copy Markdown

Goated for this

@shchoi00

Copy link
Copy Markdown

Thank you so much!

@mbed92

mbed92 commented Jun 9, 2025

Copy link
Copy Markdown

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

@magick-12

Copy link
Copy Markdown

Is this required 20250819?

@Yann0s

Yann0s commented Oct 27, 2025

Copy link
Copy Markdown

Thank a lot mate !! ;)

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