Closed jtaveau closed 10 months ago
This error looks like it might be related to an incorrect version of libyaml-cpp
installed on your machine.
Could you run the following command and let me know what the installed version is? We expect 0.7.0
to be installed.
sudo apt-cache policy libyaml-cpp-dev
To avoid these kinds of dependency issues, we provide the Isaac ROS Dev Docker image with all required dependencies preinstalled.
Additionally, please note the following input limitations for the isaac_ros_h264_encoder
:
- The input image resolution must be the same as the dimension you provided, and the resolution must be no larger than
1920x1200
.- The input image should be in rgb8 or bgr8 format, and it will be converted to nv12 format before being sent to the encoder.
The input resolution you've provided in your graph is too tall to be directly encoded; you could use the Isaac ROS Image Resize node as a preprocessing step. Depending on the input encoding of your camera, you may need to convert the color format as well.
I recompiled it with the correct version of libyaml-cpp built from source, and I'm using a lower resolution.
I get a different error now.
[component_container_mt-1] [INFO] [1698855379.831493587] [encoder.encoder_container]: Load Library: /home/julien/dev/catkin_ws/ros2/install/isaac_ros_h264_encoder/lib/libencoder_node.so
[component_container_mt-1] [INFO] [1698855379.875697845] [encoder.encoder_container]: Found class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::h264_encoder::EncoderNode>
[component_container_mt-1] [INFO] [1698855379.875752794] [encoder.encoder_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<nvidia::isaac_ros::h264_encoder::EncoderNode>
[component_container_mt-1] [INFO] [1698855379.878919184] [NitrosContext]: [NitrosContext] Creating a new shared context
[component_container_mt-1] [INFO] [1698855379.879270967] [encoder]: [NitrosNode] Initializing NitrosNode
[component_container_mt-1] [INFO] [1698855379.880803680] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/std/libgxf_std.so
[component_container_mt-1] [INFO] [1698855379.892004362] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_gxf_helpers.so
[component_container_mt-1] [INFO] [1698855379.900854698] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_sight.so
[component_container_mt-1] [INFO] [1698855379.911780622] [NitrosContext]: [NitrosContext] Loading extension: gxf/lib/libgxf_atlas.so
[component_container_mt-1] [INFO] [1698855379.923791966] [NitrosContext]: [NitrosContext] Loading application: '/home/julien/dev/catkin_ws/ros2/install/isaac_ros_nitros/share/isaac_ros_nitros/config/type_adapter_nitros_context_graph.yaml'
[component_container_mt-1] [INFO] [1698855379.925451318] [NitrosContext]: [NitrosContext] Initializing application...
[component_container_mt-1] [INFO] [1698855379.928786177] [NitrosContext]: [NitrosContext] Running application...
[component_container_mt-1] 2023-11-01 17:16:19.928 WARN gxf/std/program.cpp@514: No system specified. Nothing to do
[component_container_mt-1] [INFO] [1698855379.930708431] [encoder]: [NitrosNode] Starting NitrosNode
[component_container_mt-1] [INFO] [1698855379.930726948] [encoder]: [NitrosNode] Loading built-in preset extension specs
[component_container_mt-1] [INFO] [1698855379.934005302] [encoder]: [NitrosNode] Loading built-in extension specs
[component_container_mt-1] [INFO] [1698855379.934019577] [encoder]: [NitrosNode] Loading preset extension specs
[component_container_mt-1] [INFO] [1698855379.934627371] [encoder]: [NitrosNode] Loading extension specs
[component_container_mt-1] [INFO] [1698855379.934634262] [encoder]: [NitrosNode] Loading generator rules
[component_container_mt-1] [INFO] [1698855379.934890895] [encoder]: [NitrosNode] Loading extensions
[component_container_mt-1] [INFO] [1698855379.935537812] [encoder]: [NitrosContext] Loading extension: gxf/lib/libgxf_message_compositor.so
[component_container_mt-1] [INFO] [1698855379.937680907] [encoder]: [NitrosContext] Loading extension: gxf/lib/multimedia/libgxf_multimedia.so
[component_container_mt-1] [INFO] [1698855379.939813824] [encoder]: [NitrosContext] Loading extension: gxf/lib/cuda/libgxf_cuda.so
[component_container_mt-1] [INFO] [1698855379.941369855] [encoder]: [NitrosContext] Loading extension: gxf/lib/serialization/libgxf_serialization.so
[component_container_mt-1] [INFO] [1698855379.949475730] [encoder]: [NitrosContext] Loading extension: gxf/lib/image_proc/libgxf_tensorops.so
[component_container_mt-1] [ERROR] [1698855379.955850505] [encoder]: [NitrosContext] dlopen failed when opening "/home/julien/dev/catkin_ws/ros2/install/isaac_ros_image_proc/share/isaac_ros_image_proc/gxf/lib/image_proc/libgxf_tensorops.so": /home/julien/dev/catkin_ws/ros2/install/isaac_ros_image_proc/share/isaac_ros_image_proc/gxf/lib/image_proc/libgxf_tensorops.so: undefined symbol: _ZN4YAML6detail4node8m_amountE
[component_container_mt-1] [ERROR] [1698855379.955915732] [encoder]: [NitrosNode] loadExtensions Error: GXF_FAILURE
[component_container_mt-1] [INFO] [1698855379.956336594] [encoder]: [NitrosNode] Terminating the running application
[component_container_mt-1] [INFO] [1698855379.956347045] [encoder]: [NitrosContext] Interrupting GXF...
[component_container_mt-1] 2023-11-01 17:16:19.956 ERROR gxf/std/program.cpp@533: Attempted interrupting when not running (state=0).
[component_container_mt-1] 2023-11-01 17:16:19.956 ERROR gxf/core/runtime.cpp@1400: Graph interrupt failed with error: GXF_INVALID_EXECUTION_SEQUENCE
[component_container_mt-1] [ERROR] [1698855379.956371756] [encoder]: [NitrosContext] GxfGraphInterrupt Error: GXF_INVALID_EXECUTION_SEQUENCE
[component_container_mt-1] [INFO] [1698855379.956377205] [encoder]: [NitrosContext] Waiting on GXF...
[component_container_mt-1] [INFO] [1698855379.956384981] [encoder]: [NitrosContext] Deinitializing...
[component_container_mt-1] [INFO] [1698855379.956392258] [encoder]: [NitrosContext] Destroying context
[component_container_mt-1] [INFO] [1698855379.956735675] [encoder]: [NitrosNode] Application termination done
[component_container_mt-1] [ERROR] [1698855379.959742735] [encoder.encoder_container]: Component constructor threw an exception: [NitrosNode] loadExtensions Error: GXF_FAILURE
[ERROR] [launch_ros.actions.load_composable_nodes]: Failed to load node 'encoder' of type 'nvidia::isaac_ros::h264_encoder::EncoderNode' in container '/encoder/encoder_container': Component constructor threw an exception: [NitrosNode] loadExtensions Error: GXF_FAILURE
Is there anyway to display the GXF logs in ROS2?
I guess it's because Deepstream 6.3 for Ubuntu 20.04 is based on libyaml-cpp 0.6.2.
Hi @jtaveau ,
This line in your log indicates that there seems to be an incompatible version of the libgxf_tensorops.so
binary used by Isaac ROS Image Proc:
[component_container_mt-1] [ERROR] [1698855379.955850505] [encoder]: [NitrosContext] dlopen failed when opening "/home/julien/dev/catkin_ws/ros2/install/isaac_ros_image_proc/share/isaac_ros_image_proc/gxf/lib/image_proc/libgxf_tensorops.so": /home/julien/dev/catkin_ws/ros2/install/isaac_ros_image_proc/share/isaac_ros_image_proc/gxf/lib/image_proc/libgxf_tensorops.so: undefined symbol: _ZN4YAML6detail4node8m_amountE
Could you try cleaning out your ROS workspace's build/
and install/
folders, updating Isaac ROS Image Proc to the latest version, and building again?
As an alternative, could you please update to the latest Isaac ROS 2.1 release? As part of this release, we've made prebuilt Debian packages available on our Isaac ROS buildfarm. Instead of building our packages from source, you can now install them using apt:
sudo apt-get install -y ros-humble-isaac-ros-h264-decoder
Hi, I'm trying to use the h264 encoder launch file and get this error all the time.
I didn't change much in the launch file, just remapping the topic names and changed the resolution for my camera.
And that's the YAML file the parser is not able to deal with, I haven't modified the nitros_encoder_node.yaml config file.
I'm running ROS Humble built from sources on Ubuntu 20.04 on my laptop. The different NVidia dependencies have been installed via the Deepstream SDK.
Could you help me with that, please?