I see an AMENT_IGNORE file in gxf, which presumably is to ignore building the gxf libraries, but I don't see libgxf_video_encoder_extension.so & libgxf_video_decoder_extension.so in isaac_ros_gxf, which makes me believe that they do need to be built for isaac_ros_compression to work, however building fails with following:
Starting >>> isaac_ros_common
Starting >>> negotiated_interfaces
Starting >>> isaac_ros_test
Starting >>> magic_enum
Finished <<< isaac_ros_common [0.88s]
Starting >>> isaac_ros_gxf
Finished <<< magic_enum [1.17s]
Starting >>> isaac_ros_nitros_interfaces
Finished <<< isaac_ros_gxf [0.42s]
Finished <<< isaac_ros_test [1.60s]
Finished <<< negotiated_interfaces [1.94s]
Starting >>> negotiated
Finished <<< isaac_ros_nitros_interfaces [1.11s]
Finished <<< negotiated [0.47s]
Starting >>> isaac_ros_nitros
Finished <<< isaac_ros_nitros [0.48s]
Starting >>> isaac_ros_nitros_compressed_image_type
Starting >>> isaac_ros_nitros_image_type
Finished <<< isaac_ros_nitros_compressed_image_type [0.43s]
Finished <<< isaac_ros_nitros_image_type [0.45s]
Starting >>> isaac_ros_h264_encoder
[Processing: isaac_ros_h264_encoder]
--- stderr: isaac_ros_h264_encoder
In file included from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_utils.hpp:45,
from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_request.cpp:24:
/mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/libv4l2/include/linux/v4l2_nv_extensions.h:183:8: error: redefinition of ‘struct v4l2_ctrl_h264_sps’
183 | struct v4l2_ctrl_h264_sps {
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/linux/videodev2.h:65,
from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_utils.hpp:23,
from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_request.cpp:24:
/usr/include/linux/v4l2-controls.h:1306:8: note: previous definition of ‘struct v4l2_ctrl_h264_sps’
1306 | struct v4l2_ctrl_h264_sps {
| ^~~~~~~~~~~~~~~~~~
In file included from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_utils.hpp:45,
from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_request.cpp:24:
/mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/libv4l2/include/linux/v4l2_nv_extensions.h:212:8: error: redefinition of ‘struct v4l2_ctrl_h264_pps’
212 | struct v4l2_ctrl_h264_pps {
| ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/linux/videodev2.h:65,
from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_utils.hpp:23,
from /mithril_workspace/src/isaac_ros_compression/isaac_ros_h264_encoder/gxf/codec/video_encoder/videoencoder_request.cpp:24:
/usr/include/linux/v4l2-controls.h:1362:8: note: previous definition of ‘struct v4l2_ctrl_h264_pps’
1362 | struct v4l2_ctrl_h264_pps {
| ^~~~~~~~~~~~~~~~~~
I see an
AMENT_IGNORE
file ingxf
, which presumably is to ignore building thegxf
libraries, but I don't seelibgxf_video_encoder_extension.so
&libgxf_video_decoder_extension.so
inisaac_ros_gxf
, which makes me believe that they do need to be built for isaac_ros_compression to work, however building fails with following: