stereolabs / zed-gstreamer

Package of GStreamer elements to interface with ZED Cameras
https://www.stereolabs.com/docs/gstreamer/
61 stars 23 forks source link

cannot compile on jetson nano #47

Closed wasdee closed 1 year ago

wasdee commented 1 year ago

Preliminary Checks

Description

~/Downloads/zed-gstreamer/build$ make
Scanning dependencies of target gstzedmeta
[  7%] Building CXX object gst-zed-meta/CMakeFiles/gstzedmeta.dir/gstzedmeta.cpp.o
[ 14%] Linking CXX shared library libgstzedmeta.so
[ 14%] Built target gstzedmeta
Scanning dependencies of target gstzedsrc
[ 21%] Building CXX object gst-zed-src/CMakeFiles/gstzedsrc.dir/gstzedsrc.cpp.o
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp: In function ‘GType gst_zedsrc_sensing_mode_get_type()’:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:531:37: error: ‘sl::SENSING_MODE’ has not been declared
             { static_cast<gint>(sl::SENSING_MODE::STANDARD),
                                     ^~~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:535:37: error: ‘sl::SENSING_MODE’ has not been declared
             { static_cast<gint>(sl::SENSING_MODE::FILL),
                                     ^~~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp: In function ‘void gst_zedsrc_class_init(GstZedSrcClass*)’:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:200:71: error: ‘sl::SENSING_MODE’ has not been declared
 #define DEFAULT_PROP_SENSING_MODE               static_cast<gint>(sl::SENSING_MODE::STANDARD)
                                                                       ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:200:71: note: in definition of macro ‘DEFAULT_PROP_SENSING_MODE’
 #define DEFAULT_PROP_SENSING_MODE               static_cast<gint>(sl::SENSING_MODE::STANDARD)
                                                                       ^~~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp: In function ‘void gst_zedsrc_init(GstZedSrc*)’:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:200:71: error: ‘sl::SENSING_MODE’ has not been declared
 #define DEFAULT_PROP_SENSING_MODE               static_cast<gint>(sl::SENSING_MODE::STANDARD)
                                                                       ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:200:71: note: in definition of macro ‘DEFAULT_PROP_SENSING_MODE’
 #define DEFAULT_PROP_SENSING_MODE               static_cast<gint>(sl::SENSING_MODE::STANDARD)
                                                                       ^~~~~~~~~~~~
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:22:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp: In function ‘gboolean gst_zedsrc_start(GstBaseSrc*)’:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1896:56: error: ‘SENSING_MODE’ is not a member of ‘sl’
     GST_INFO(" * Sensing Mode: %s",  sl::toString((sl::SENSING_MODE)src->sensing_mode).c_str());
                                                        ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1896:5: note: in expansion of macro ‘GST_INFO’
     GST_INFO(" * Sensing Mode: %s",  sl::toString((sl::SENSING_MODE)src->sensing_mode).c_str());
     ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1896:56: note: suggested alternative: ‘DEPTH_MODE’
     GST_INFO(" * Sensing Mode: %s",  sl::toString((sl::SENSING_MODE)src->sensing_mode).c_str());
                                                        ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1896:5: note: in expansion of macro ‘GST_INFO’
     GST_INFO(" * Sensing Mode: %s",  sl::toString((sl::SENSING_MODE)src->sensing_mode).c_str());
     ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1998:19: error: ‘struct sl::ObjectDetectionParameters’ has no member named ‘enable_mask_output’
         od_params.enable_mask_output = (src->od_enable_mask_output==TRUE);
                   ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:22:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1999:51: error: ‘struct sl::ObjectDetectionParameters’ has no member named ‘enable_mask_output’
         GST_INFO(" * Mask output: %s", (od_params.enable_mask_output?"TRUE":"FALSE"));
                                                   ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:1999:9: note: in expansion of macro ‘GST_INFO’
         GST_INFO(" * Mask output: %s", (od_params.enable_mask_output?"TRUE":"FALSE"));
         ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2000:53: error: ‘DETECTION_MODEL’ in namespace ‘sl’ does not name a type
         od_params.detection_model = static_cast<sl::DETECTION_MODEL>(src->od_detection_model);
                                                     ^~~~~~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2004:19: error: ‘struct sl::ObjectDetectionParameters’ has no member named ‘enable_body_fitting’; did you mean ‘enable_tracking’?
         od_params.enable_body_fitting = src->od_body_fitting;
                   ^~~~~~~~~~~~~~~~~~~
                   enable_tracking
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:22:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2005:52: error: ‘struct sl::ObjectDetectionParameters’ has no member named ‘enable_body_fitting’; did you mean ‘enable_tracking’?
         GST_INFO(" * Body fitting: %s", (od_params.enable_body_fitting?"TRUE":"FALSE"));
                                                    ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2005:9: note: in expansion of macro ‘GST_INFO’
         GST_INFO(" * Body fitting: %s", (od_params.enable_body_fitting?"TRUE":"FALSE"));
         ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp: In function ‘GstFlowReturn gst_zedsrc_fill(GstPushSrc*, GstBuffer*)’:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2146:17: error: ‘struct sl::RuntimeParameters’ has no member named ‘sensing_mode’
     zedRtParams.sensing_mode = static_cast<sl::SENSING_MODE>(src->sensing_mode);
                 ^~~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2146:48: error: ‘SENSING_MODE’ in namespace ‘sl’ does not name a type
     zedRtParams.sensing_mode = static_cast<sl::SENSING_MODE>(src->sensing_mode);
                                                ^~~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2453:32: error: ‘class sl::ObjectData’ has no member named ‘keypoint_2d’
                         if(obj.keypoint_2d.size()>0)
                                ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2455:75: error: ‘class sl::ObjectData’ has no member named ‘keypoint_2d’
                             memcpy( obj_data[idx].keypoint_2d, (void*)obj.keypoint_2d.data(), 36*sizeof(float) );
                                                                           ^~~~~~~~~~~
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:22:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2456:97: error: ‘class sl::ObjectData’ has no member named ‘keypoint_2d’
                             GST_TRACE_OBJECT( src, " * [%d] Copied skeleton 2d - %lu", idx, obj.keypoint_2d.size());
                                                                                                 ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2456:29: note: in expansion of macro ‘GST_TRACE_OBJECT’
                             GST_TRACE_OBJECT( src, " * [%d] Copied skeleton 2d - %lu", idx, obj.keypoint_2d.size());
                             ^
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2462:32: error: ‘class sl::ObjectData’ has no member named ‘keypoint’
                         if(obj.keypoint.size()>0)
                                ^~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2464:75: error: ‘class sl::ObjectData’ has no member named ‘keypoint’
                             memcpy( obj_data[idx].keypoint_3d, (void*)obj.keypoint.data(), 54*sizeof(float) );
                                                                           ^~~~~~~~
In file included from /usr/include/gstreamer-1.0/gst/gst.h:55:0,
                 from /home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:22:
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2465:97: error: ‘class sl::ObjectData’ has no member named ‘keypoint’
                             GST_TRACE_OBJECT( src, " * [%d] Copied skeleton 3d - %lu", idx, obj.keypoint.size());
                                                                                                 ^
/usr/include/gstreamer-1.0/gst/gstinfo.h:640:31: note: in definition of macro ‘GST_CAT_LEVEL_LOG’
         (GObject *) (object), __VA_ARGS__);    \
                               ^~~~~~~~~~~
/home/redblu/Downloads/zed-gstreamer/gst-zed-src/gstzedsrc.cpp:2465:29: note: in expansion of macro ‘GST_TRACE_OBJECT’
                             GST_TRACE_OBJECT( src, " * [%d] Copied skeleton 3d - %lu", idx, obj.keypoint.size());
                             ^
gst-zed-src/CMakeFiles/gstzedsrc.dir/build.make:62: recipe for target 'gst-zed-src/CMakeFiles/gstzedsrc.dir/gstzedsrc.cpp.o' failed
make[2]: *** [gst-zed-src/CMakeFiles/gstzedsrc.dir/gstzedsrc.cpp.o] Error 1
CMakeFiles/Makefile2:204: recipe for target 'gst-zed-src/CMakeFiles/gstzedsrc.dir/all' failed
make[1]: *** [gst-zed-src/CMakeFiles/gstzedsrc.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Steps to Reproduce

I just follow the official guide

https://www.stereolabs.com/docs/gstreamer/

Expected Result

compiled successfully

Actual Result

error

ZED Camera model

ZED2i

Environment

Device: Jetson Nano

ZED Diagnostic Tool

- Running ZED SDK Diagnostic : OK  
    ZED SDK version: 4.0.0
    CUDA version: V10.2.300
- Running Processor Diagnostic : OK  
    Processor:   ARMv8 Processor rev 1 (v8l)
- Running Graphics Card Diagnostic : OK  
    Graphics card:  NVIDIA Tegra X1
- Running Devices Diagnostic : OK  
- Running Camera Test Diagnostic : Failed
    Specific resolutions are not available  Replug your device or connect the camera to another USB 3.0 port.
    Camera: ZED 2i
    Firmware: 1523

Diagnostic finished, a file has been generated : ZED_Diagnostic_Results.json


### Anything else?

_No response_
Myzhar commented 1 year ago

This repository does not support the ZED SDK v4 yet. The support will be added as soon as the ZED SDK v4 will exit the "Early Preview" status.