Undefined symbol: IsaacGatherComponentInfo

SDK Version : 2019

Carter navigate and carter gmapping suddenly started failing in Jetson with the following error

2021-11-17 13:49:53.629 ERROR engine/alice/backend/modules.cpp@250: packages/perception/libperception_module.so: /home/nvidia/deploy/renu/carter_navigate-pkg//packages/perception/libperception_module.so: undefined symbol: IsaacGatherComponentInfo
2021-11-17 13:49:53.629 ERROR engine/alice/backend/modules.cpp@250: packages/viewers/libviewers_module.so: /home/nvidia/deploy/renu/carter_navigate-pkg//packages/viewers/libviewers_module.so: undefined symbol: IsaacGatherComponentInfo
2021-11-17 13:49:53.629 PANIC engine/alice/backend/modules.cpp@252: Could not load all required modules for application

Checking dependencies for lib perception i see some failed ones

nvidia@nvidia-desktop:~/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception$ ldd libperception_module.so
linux-vdso.so.1 (0x0000007fa7a9e000)
libnppial.so.10.0 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Cnppial___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnppial.so.10.0 (0x0000007fa68a6000)
libnppidei.so.10.0 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Cnppidei___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnppidei.so.10.0 (0x0000007fa6201000)
libnppif.so.10.0 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Cnppif___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnppif.so.10.0 (0x0000007fa31c3000)
libnppig.so.10.0 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Cnppig___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnppig.so.10.0 (0x0000007fa1875000)
libnpps.so.10.0 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Cnpps___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnpps.so.10.0 (0x0000007fa1017000)
libnvToolsExt.so.1 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Ccuda___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnvToolsExt.so.1 (0x0000007fa0fff000)
libcudart.so.10.0 => /home/nvidia/deploy/renu/carter_navigate-pkg/packages_jetpack43/perception/./…/…/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Ccudart___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libcudart.so.10.0 (0x0000007fa0f8e000)
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000007fa0f54000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000007fa0e9a000)
libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000007fa0d07000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000007fa0ce3000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000007fa0cb7000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000007fa0b5e000)
/lib/ld-linux-aarch64.so.1 (0x0000007fa7a73000)
libnppc.so.10.0 => not found
librt.so.1 => /lib/aarch64-linux-gnu/librt.so.1 (0x0000007fa0b47000)
libnppc.so.10.0 => not found
libnppc.so.10.0 => not found
libnppc.so.10.0 => not found
libnppc.so.10.0 => not found

Tried adding “//third_party:nppc” to deps section in packages/perception/build but it doesnt help. ( I do see sftp://nvidia@localhost:22031/home/nvidia/deploy/renu/carter_navigate-pkg/_solib_arm64-v8a/_U@cuda_Uaarch64_Ujetpack43_S_S_Cnppc___Uexternal_Scuda_Uaarch64_Ujetpack43_Susr_Slocal_Scuda-10.0_Slib64/libnppc.so.10.0)

Did i corrupt something in the Jetpack installations?

Usually this undefined symbol issue means that the modules (shared libraries) were not built or included in the bazel target, but you’re right that it looks like a dependent library of the module is not available from the logs. You should not have to add any direct dependency on libnppc.so which is an NVIDIA CUDA toolkit shared library available in JetPack itself already. You could try adding its location to LD_LIBRARY_LOAD_PATH and see if that helps?

Seeing a similar issue. The binary can find other nvidia libs (cufft for instance). Any resolution here?

Which versions of Isaac SDK, Jetpack, CUDA are you using @jtsd ?

We also had seen the issue in the past, but it is resolved when we use a real Carter robot with Jetpack 4.51 (installed by SDKmanager) and deploy the Carter software package from a PC running Isaac SDK 2021.1 which was installed after CUDA toolkit 10.2 and the scripts for all the rest of the dependencies, both on the host and on the robot.

So in other words we can confirm that this specific issue doesn’t show up if the instructions for Isaac SDK 2021.1 are followed exactly