I’m running a DeepStream application using LibArgus to take CSI camera data as input. To make a deployable version of the application, I have a custom packaging script that captures all of the compile and runtime dependencies of my application. When I run the local, unpackaged version of the application, I have no issues. However, when I attempt to run the packaged application, I encounter this error with Argus:
(Argus) Error InvalidState: Failed to load EGL library (in src/eglutils/EGLUtils.cpp, function exports(), line 213)
(Argus) Error InvalidState: Failed to get EGL API access function (in src/eglutils/EGLUtils.cpp, function exports(), line 224)
This comes after remounting /var/volatile within a custom overlayfs
Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) • DeepStream Version • JetPack Version (valid for Jetson only) • TensorRT Version • NVIDIA GPU Driver Version (valid for GPU only) • Issue Type( questions, new requirements, bugs) • How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing) • Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
@kesong I can confirm that Argus works. I can run DeepStream with an argus source just fine, if i compile my DeepStream application and run it locally. I think this is a packaging issue, hoping for some guidance on how to debug here since Argus is closed source
Yes I am having the same error @jack31@kesong . I have verified that argus works but am now trying to change root to /var. I have mounted all the necessary libraries as well as /var/volatile (for .X11-unix and argus_socket).
In the debug trace I get the following:
28288: file=/usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0 [0]; dynamically loaded by /lib/libnvargus_socketclient.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvargus_socketclient.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/app/perception-app [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/app/libnvdsgst_raildetector.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libjson-glib-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstrtspserver-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstreamer-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgobject-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libglib-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvdsgst_smartrecord.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvds_meta.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvds_msgbroker.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvdsgst_helper.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvdsgst_meta.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libpthread.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libc.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstvideo-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstbase-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbufsurface.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbufsurftransform.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libdl.so.2 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/librt.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libopencv_imgcodecs.so.4.5 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libopencv_imgproc.so.4.5 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libopencv_core.so.4.5 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libstdc++.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libm.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgcc_s.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgio-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/ld-linux-aarch64.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstrtsp-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstsdp-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstrtp-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstnet-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstapp-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgmodule-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libffi.so.7 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libpcre.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstpbutils-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvds_logger.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/liborc-0.4.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libEGL.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvos.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbuf_fdmap.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm_graphics.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvddk_vic.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvddk_2d_v2.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libcuda.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libjpeg.so.62 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libwebp.so.7 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libpng16.so.16 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libtiff.so.5 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libtbb.so.2 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libz.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libmount.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libresolv.so.2 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstaudio-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgsttag-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libGLdispatch.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm_gpu.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvidia-fatbinaryloader.so.440.18 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/liblzma.so.5 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libblkid.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/gstreamer-1.0/libgstnvarguscamerasrc.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbuf_utils.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvdsbufferpool.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvargus_socketclient.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libpthread.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstvideo-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstbase-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstallocators-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgstreamer-1.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgobject-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libglib-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libstdc++.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgcc_s.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libc.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/ld-linux-aarch64.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm_graphics.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libEGL.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvddk_vic.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbuf_fdmap.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbufsurface.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcamerautils.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcam_imageencoder.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvos.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvmm_utils.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcameratools.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libdl.so.2 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libm.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/liborc-0.4.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libgmodule-2.0.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libffi.so.7 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libpcre.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libGLdispatch.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/librt.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcamlog.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvtvmr.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvjpeg.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvddk_2d_v2.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvscf.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvfnetstoredefog.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvfnet.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvfnetstorehdfx.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvodm_imager.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcapture.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libGLESv2.so.2 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvphs.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libcuda.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libexpat.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcamv4l2.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm_gpu.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvidia-fatbinaryloader.so.440.18 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvargus_socketclient.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libEGL.so.1 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvddk_vic.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcamerautils.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcam_imageencoder.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvrm_graphics.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvos.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvbuf_utils.so.1.0.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvmm_utils.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libnvcameratools.so [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libstdc++.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libpthread.so.0 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libdl.so.2 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libm.so.6 [0]
28288: symbol=NvEglApiGetAccess; lookup in file=/lib/libc.so.6 [0]
28288: /lib/libnvargus_socketclient.so: error: symbol lookup error: undefined symbol: NvEglApiGetAccess (fatal)
When running in the non-chrooted (working) setup the following message is shown in the debug log:
| 13277:|file=/usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0 [0]; dynamically loaded by /usr/lib/libnvargus_socketclient.so [0]|
|---|---|
| 13277:|opening file=/usr/lib/libEGL_nvidia.so.0 [0]; direct_opencount=3|
| 13277:||
| 13277:|symbol=NvEglApiGetAccess; lookup in file=/usr/lib/libEGL_nvidia.so.0 [0]|
| 13277:|binding file /usr/lib/libEGL_nvidia.so.0 [0] to /usr/lib/libEGL_nvidia.so.0 [0]: normal symbol `NvEglApiGetAccess'|
It seems that NvEglApiGetAccess is found in libEGL_nvidia.so.0. However, when I manually construct the path /usr/lib/aarch64-linux-gnu/tegra-egl/libEGL_nvidia.so.0 within the chroot environment and copy the .so file accordingly I get yet another error:
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 89)
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. gstnvarguscamerasrc.cpp, threadInitialize:272 Failed to create FrameConsumer
I have not been able to debug further than this. Please let me know any addition information that might be helpful. Thanks!
There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks
Can you have a try with flash one new image with sdkmanager without any your changes?