hi, i am currently trying to build a Ros2 node in cpp to use the hardware decoder of my jetson agx orin to decode jepg
i started with Article as example but now i am getting this error when building
i must use jetpack 5.1.2 and i work in a docker
[ 9%] Building CXX object CMakeFiles/test_jpeg.dir/NvSurfEncoder.cpp.o In file included from /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:304: warning: "V4L2_H264_DPB_ENTRY_FLAG_ACTIVE" redefined 304 | #define V4L2_H264_DPB_ENTRY_FLAG_ACTIVE 0x01 | In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /usr/include/linux/v4l2-controls.h:1521: note: this is the location of the previous definition 1521 | #define V4L2_H264_DPB_ENTRY_FLAG_ACTIVE 0x02 | In file included from /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:305: warning: "V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM" redefined 305 | #define V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM 0x02 | In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /usr/include/linux/v4l2-controls.h:1522: note: this is the location of the previous definition 1522 | #define V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM 0x04 | In file included from /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:195:8: error: redefinition of ‘struct v4l2_ctrl_h264_sps’ 195 | struct v4l2_ctrl_h264_sps { | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /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 /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:224:8: error: redefinition of ‘struct v4l2_ctrl_h264_pps’ 224 | struct v4l2_ctrl_h264_pps { | ^~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /usr/include/linux/v4l2-controls.h:1362:8: note: previous definition of ‘struct v4l2_ctrl_h264_pps’ 1362 | struct v4l2_ctrl_h264_pps { | ^~~~~~~~~~~~~~~~~~ In file included from /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:238:8: error: redefinition of ‘struct v4l2_ctrl_h264_scaling_matrix’ 238 | struct v4l2_ctrl_h264_scaling_matrix { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /usr/include/linux/v4l2-controls.h:1394:8: note: previous definition of ‘struct v4l2_ctrl_h264_scaling_matrix’ 1394 | struct v4l2_ctrl_h264_scaling_matrix { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:243:8: error: redefinition of ‘struct v4l2_h264_weight_factors’ 243 | struct v4l2_h264_weight_factors { | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /usr/include/linux/v4l2-controls.h:1399:8: note: previous definition of ‘struct v4l2_h264_weight_factors’ 1399 | struct v4l2_h264_weight_factors { | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/src/jetson_multimedia_api/include/NvBuffer.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:9: /usr/src/jetson_multimedia_api/include/v4l2_nv_extensions.h:306:8: error: redefinition of ‘struct v4l2_h264_dpb_entry’ 306 | struct v4l2_h264_dpb_entry { | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/linux/videodev2.h:65, from /usr/src/jetson_multimedia_api/include/NvBufSurface.h:43, from /home/myawesomecompany/dev_ws/nvidia2/NvSurfEncoder.cpp:8: /usr/include/linux/v4l2-controls.h:1542:8: note: previous definition of ‘struct v4l2_h264_dpb_entry’ 1542 | struct v4l2_h264_dpb_entry { | ^~~~~~~~~~~~~~~~~~~ make[2]: *** [CMakeFiles/test_jpeg.dir/build.make:76: CMakeFiles/test_jpeg.dir/NvSurfEncoder.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/test_jpeg.dir/all] Error 2 make: *** [Makefile:91: all] Error 2