文章目录
解决报错:Could not get EGL display connection GStreamer-WARNING **: 14:43:51.245: Failed to load plugin
今天,部署deepstream_lpr_app项目时,出现了以下的错误,奇怪的是,在第一部署的时候并没有出现以下错误,由于重新装了下系统,再次部署时,却发现了以下的错误。
因此,特写此文,一方面,希望自己以后再次遇到此问题时,能够更加快速地解决;另一方面,希望能够帮助到其他的人。
当我进行模型推理的时候,报出One element could not be created. Exiting.
的错误。
于是我输入以下命令,
gst-inspect-1.0
唉,又报错了。
完整报错
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
(gst-plugin-scanner:31996): GStreamer-WARNING **: 14:43:26.410: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
(gst-plugin-scanner:31998): GStreamer-WARNING **: 14:43:30.700: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
(gst-plugin-scanner:32003): GStreamer-WARNING **: 14:43:31.229: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
(gst-plugin-scanner:32010): GStreamer-WARNING **: 14:43:36.028: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
(gst-plugin-scanner:32017): GStreamer-WARNING **: 14:43:48.951: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync
nvbuf_utils: Could not get EGL display connection
(gst-plugin-scanner:32017): GStreamer-WARNING **: 14:43:51.245: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlibav.so': /usr/lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block
突然发现,相比第一次部署,竟然报出了这么多的错误,憨憨的我赶紧查了下自己系统的版本。
版本情况如下
CUDA版本:10.2
tensorrt版本:8.0.1.6
JetPack版本:32.6.1
deepstream版本:6.0
官网的系统版本适配图如下:
通过对比发现:我的版本是没有问题的。于是开始细细地检查报错。
第一种类别报错
报错如下
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
解决方法
unset DISPLAY
rm ${
HOME}/.cache/gstreamer-1.0/registry.*
输入上面的命令的目的是:将DISPLAY的值设为:0。
可以输入以下的命令查看:
echo $DISPLAY
# 输出为 :0
如果上述的命令并没有将DISPLAY的值设为0,请使用下面这种方法:
export DISPLAY=:0
然后再次输入命令查看:
echo $DISPLAY
# 输出为 :0
其实第一类报错算是已经解决了。
再次输入:
gst-inspect-1.0
发现报错减少了,但是还有4个:
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.622: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.628: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.634: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.650: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync
说明第一类的报错已经解决了。
第二类报错
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.622: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so': librivermax.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.628: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libtritonserver.so: cannot open shared object file: No such file or directory
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.634: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
(gst-plugin-scanner:32277): GStreamer-WARNING **: 15:05:17.650: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so': /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync
参考
https://blog.csdn.net/zong596568821xp/article/details/121231336
通过这篇文章发现,这些问题是Deepstream6.0所为解决的问题,可以忽略。
重新推理,得到正确的结果了。
至此,小记结束。