Unable to configure Deepstream in Azure VM

I am trying to configure and run Deepstream 5.1 in Azure N Series VM (Standard_NC12s_v3). I am able to follow most of the instructions in the link - Quickstart Guide — DeepStream 5.1 Release documentation

However, compiling the deepstream app results in error for not able to find certain libraries. Any pointers is greately appreciated.

• Hardware Platform : GPU - Azure N series VM
• DeepStream Version: 5.1
• TensorRT Version: 7.2.1
• NVIDIA GPU Driver Version : 460.32.03
• Issue Type: Installation / Configuration issue

root@vm-l-dev:/opt/nvidia/deepstream/deepstream-5.1/sources/apps/sample_apps/deepstream-app# sudo CUDA_VER=11.1 make

cc -o deepstream-app deepstream_app.o deepstream_app_main.o deepstream_app_config_parser.o …/…/apps-common/src/deepstream_tracker_bin.o …/…/apps-common/src/deepstream_primary_gie_bin.o …/…/apps-common/src/deepstream_source_bin.o …/…/apps-common/src/deepstream_audio_classifier_bin.o …/…/apps-common/src/deepstream_c2d_msg.o …/…/apps-common/src/deepstream_config_file_parser.o …/…/apps-common/src/deepstream_common.o …/…/apps-common/src/deepstream_sink_bin.o …/…/apps-common/src/deepstream_perf.o …/…/apps-common/src/deepstream_dewarper_bin.o …/…/apps-common/src/deepstream_dsexample.o …/…/apps-common/src/deepstream_secondary_gie_bin.o …/…/apps-common/src/deepstream_dsanalytics.o …/…/apps-common/src/deepstream_tiled_display_bin.o …/…/apps-common/src/deepstream_c2d_msg_util.o …/…/apps-common/src/deepstream_osd_bin.o …/…/apps-common/src/deepstream_streammux.o -L/usr/local/cuda-11.1/lib64/ -lcudart -L/opt/nvidia/deepstream/deepstream-5.1/lib/ -lnvdsgst_meta -lnvds_meta -lnvdsgst_helper -lnvdsgst_smartrecord -lnvds_utils -lnvds_msgbroker -lm -lcuda -lgstrtspserver-1.0 -ldl -Wl,-rpath,/opt/nvidia/deepstream/deepstream-5.1/lib/ -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lX11 -ljson-glib-1.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
/usr/bin/ld: warning: libnvinfer.so.7, needed by /opt/nvidia/deepstream/deepstream-5.1/lib//libnvds_utils.so, not found (try using -rpath or -rpath-link)
/opt/nvidia/deepstream/deepstream-5.1/lib//libnvds_utils.so: undefined reference to `getInferLibVersion’
collect2: error: ld returned 1 exit status
Makefile:70: recipe for target ‘deepstream-app’ failed
make: *** [deepstream-app] Error 1

Sorry for the late response, we will do the investigation and update soon.

Thanks

Hi @satheesh.sukumar ,
Sorry for delay!

Try “ldd /opt/nvidia/deepstream/deepstream-5.1/lib/libnvds_utils.so” to check if there is any lib that is missing.

root@02ff1464f69b:~# ldd /opt/nvidia/deepstream/deepstream-5.1/lib/libnvds_utils.so
        linux-vdso.so.1 (0x00007ffdaf5ac000)
        libcudart.so.11.0 => /usr/local/cuda-11.1/lib64/libcudart.so.11.0 (0x00007fe5cfa35000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fe5cf831000)
        libnppc.so.11 => /usr/local/cuda-11.1/lib64/libnppc.so.11 (0x00007fe5cf5a9000)
        libnppig.so.11 => /usr/local/cuda-11.1/lib64/libnppig.so.11 (0x00007fe5ccf2d000)
        libnppitc.so.11 => /usr/local/cuda-11.1/lib64/libnppitc.so.11 (0x00007fe5cc962000)
        libnvinfer.so.7 => /usr/lib/x86_64-linux-gnu/libnvinfer.so.7 (0x00007fe5a7212000)
        libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007fe5a6ed7000)
        libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fe5a6c83000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe5a6892000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fe5cfebe000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe5a6673000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fe5a646b000)
        libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fe5a60e2000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fe5a5d44000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fe5a5b2c000)
        libcudnn.so.8 => /usr/lib/x86_64-linux-gnu/libcudnn.so.8 (0x00007fe5a5903000)
        libmyelin.so.1 => /usr/lib/x86_64-linux-gnu/libmyelin.so.1 (0x00007fe5a5083000)
        libnvrtc.so.11.1 => /usr/local/cuda-11.1/targets/x86_64-linux/lib/libnvrtc.so.11.1 (0x00007fe5a2eb8000)
        libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fe5a2cb4000)
        libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fe5a299d000)
        libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fe5a2795000)
        libcublas.so.11 => /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcublas.so.11 (0x00007fe59a379000)
        libcublasLt.so.11 => /usr/local/cuda-11.1/targets/x86_64-linux/lib/libcublasLt.so.11 (0x00007fe58c385000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fe58c113000)

Thanks for looking into this. Yes, lbnvinfer.so not found.

root@vm-l-dev:/home/adminuser# ldd /opt/nvidia/deepstream/deepstream-5.1/lib/libnvds_utils.so
linux-vdso.so.1 (0x00007fff863bf000)
libcudart.so.11.0 => /usr/local/cuda-11.1/lib64/libcudart.so.11.0 (0x00007f9eab371000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9eab16d000)
libnppc.so.11 => /usr/local/cuda-11.1/lib64/libnppc.so.11 (0x00007f9eaaee5000)
libnppig.so.11 => /usr/local/cuda-11.1/lib64/libnppig.so.11 (0x00007f9ea8869000)
libnppitc.so.11 => /usr/local/cuda-11.1/lib64/libnppitc.so.11 (0x00007f9ea829e000)
libnvinfer.so.7 => not found
libgstreamer-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f9ea7f63000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f9ea7d0f000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9ea791e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9eab7fa000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9ea76ff000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9ea74f7000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9ea716e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9ea6dd0000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9ea6bb8000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f9ea69b4000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9ea669d000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f9ea6495000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9ea6223000)

so you need to check if you install TensorRT correctly.

Thanks!

Is this the correct and supported version ?

root@vm-l-dev:/home/adminuser# sudo apt-get install ./nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007_1-1_amd64.deb
Reading package lists… Done
Building dependency tree
Reading state information… Done
Note, selecting ‘nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007’ instead of ‘./nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007_1-1_amd64.deb’
nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007 is already the newest version (1-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

can you please if there is /usr/lib/x86_64-linux-gnu/libnvinfer.so.7* in your system

No, i could not find it in that path.

so, you may need to uninstall TRT, and refer to Installation Guide :: NVIDIA Deep Learning TensorRT Documentation to install it again.

Sorry for the delay. I started again with a newly provisioned VM in Azure and it resulted in the same error. Is there a preconfigured virtual machine image that i can use for running deepstream apps ?

No, virtual machine image NV provided for DS.
Please use DeepStream docker container provided on NGC - https://ngc.nvidia.com/

Thanks!