Running DS with systemd and obtaining undefined symbol: PvaProgramSetDMADescriptorsV2

Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) Jetson Xavier AGX
• DeepStream Version 6.3.0
• JetPack Version (valid for Jetson only) 5.1
• TensorRT Version

I have a DS pipeline script running perfectly in terminal, and the same with the sample script from pythin bindings. Those script doesn’t use any X11, the sink is an RTSP sink or a fakesink. However, when I call this scripts from inside a systemd, I receive this message of undefined symbol:

gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream/lib/
gstnvtracker: Failed to open low-level lib at /opt/nvidia/deepstream/deepstream/lib/
dlopen error: /opt/nvidia/cupva-2.3/lib/aarch64-linux-gnu/ undefined symbol: PvaProgramSetDMADescriptorsV2
gstnvtracker: Failed to initilaize low level lib.

There are few posts on this: Trouble initializing nvtracker lib - #4 by kesong and Gstnvtracker Error: undefined symbol: PvaProgramSetDMADescriptorsV2, but they don’t seem to address my problem. This is what I have explored so far:

ubuntu@ubuntu:~$ readelf -s -W /opt/nvidia/cupva-2.3/lib/aarch64-linux-gnu/|grep PvaProgramSetDMADescriptorsV2
    43: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND PvaProgramSetDMADescriptorsV2
ubuntu@ubuntu:~$ echo $LD_PRELOAD

What may be done to overcome this? The symbol is there, and the shared object is at the correct path.

The difference with other topics may be caused by the executing environment in systemd. Not sure if it works, but can you try by adding “Environment=LD_PRELOAD=/opt/nvidia/cupva-2.3/lib/aarch64-linux-gnu/” in section [Service] of your service?
If still not working, please try to reproduce this behavior with an example and provide the systemd for it so we can reproduce and check what happens.

Adding Environment to service section worked perfectly. Thanks!

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