I am using ISAAC ROS 3.1 (isaac_ros_common v3.1.0), trying to run inference with isaac_ros_tensorrt on a model suited for tensorrt 8. Since I rebuild the docker image a few weeks ago, tensorrt in the docker is on version 10. When trying to build the isaac_ros_tensorrt package I get a missing library error (nvcaffe_parser).
After some research I found out that nvcaffe_parser is deprecated since tensorrt 10. Removing this from /workspaces/isaac_ros-dev/src/isaac_ros_common/isaac_ros_common/cmake/modules/FindTENSORRT.cmake alongside nvparsers (same issue I believe):
find_trt_library(nvinfer)
find_trt_library(nvinfer_plugin)
# find_trt_library(nvcaffe_parser)
find_trt_library(nvonnxparser)
# find_trt_library(nvparsers)
results in another error during build:
admin@jonx:/workspaces/isaac_ros-dev$ cd ${ISAAC_ROS_WS}/ && colcon build --symlink-install --packages-up-to isaac_ros_tensor_rt
[1.091s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'isaac_ros_common' is in: /workspaces/isaac_ros-dev/install/isaac_ros_common, /opt/ros/humble
'isaac_ros_test' is in: /workspaces/isaac_ros-dev/install/isaac_ros_test, /opt/ros/humble
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding isaac_ros_common isaac_ros_test
This may be promoted to an error in a future release of colcon-override-check.
Starting >>> isaac_ros_common
Starting >>> isaac_ros_test
Finished <<< isaac_ros_common [1.09s]
Starting >>> gxf_isaac_tensor_rt
--- stderr: gxf_isaac_tensor_rt
CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find TENSORRT: Found unsuitable version "..", but required is at
least "8" (found /usr/include/aarch64-linux-gnu)
Call Stack (most recent call first):
/usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:592 (_FPHSA_FAILURE_MESSAGE)
/workspaces/isaac_ros-dev/install/isaac_ros_common/share/isaac_ros_common/cmake/modules/FindTENSORRT.cmake:68 (find_package_handle_standard_args)
CMakeLists.txt:30 (find_package)
---
Failed <<< gxf_isaac_tensor_rt [1.25s, exited with code 1]
Aborted <<< isaac_ros_test [2.72s]
Summary: 1 package finished [3.64s]
1 package failed: gxf_isaac_tensor_rt
1 package aborted: isaac_ros_test
1 package had stderr output: gxf_isaac_tensor_rt
1 package not processed
So now im wondering if there is a way, maybe a different base image wich I can use, which uses tensorrt 8. Or is there a way to specify tensorrt 8 in the dockerfile?
Please tell me if I should provide any more information. Thanks in advance :)