Argus fails to load EGL

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)

Hardware platform: Nvidia Jetson AGX Xavier
Deepstream version: 5.0
JetPack version: custom Poky-based linux distribution
TensorRT version: 7.1.3
Issue type: bug
Reproduce issue: run packaged deepstream application

Not sure I understand what you’re looking for for ‘Requirement details’ but hopefully the above is enough information

Can you please verify if Argus works on your system?

@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

Hardware Platform: Jetson AGX Xavier
Deepstream Version: 5.0
Jetpack: N/A

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?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.