libnvdla_compiler.so: cannot open shared object file: No such file or directory
- 如果你和我一样,刚刚收到了新的 Nvidia Jetson Orin Nano Super Developer Kit,并且因为下面的错误而无法运行 Nvidia 提供的示例:
ImportError: libnvdla_compiler.so: cannot open shared object file: No such file or directory
-
那么你可能不想因为查看是否可行而不得不处理降级已刷写版本的问题。
-
问题在于最新(36.4.2)版本的 Jetpack 软件中没有包含 “libnvdla_compiler.so” 文件,而你被指示安装此版本以升级设备固件。
-
解决方法是从上一版本的 .deb 文件中获取该文件。运行下面的命令将解决这个问题:
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
-
这个命令将从上一版本的 .deb 文件中提取所需的 libnvdla_compiler.so 文件,并将其放置在 /usr/lib/aarch64-linux-gnu/nvidia/ 的正确位置。
-
无需对 /etc/nvidia-container-runtime/host-files-for-container.d/ 中的 .csv 文件进行编辑——这些文件中已经列出了 /usr/lib/aarch64-linux-gnu/nvidia/libnvdla_compiler.so 的路径,但由于在 36.4.2 版本中该文件不存在,因此无法复制到你的 Docker 容器中。
-
通过从上一版本中提取 libnvdla_compiler.so,然后重新运行你的
docker
或jetson-containers
命令,库文件就应该会被注入到容器中,从而解决错误。