Missing dependencies in deepstream docker container

Description

I’ve been trying to compile the deepstream-test1 app inside a docker container nvcr.io/nvidia/deepstream:6.3-samples and ran into missing dependencies and linking errors.

I followed the compilation instructions in the README starting by setting the CUDA_VER=12.1 in the Makefile and than running make. This resulted in the following error

Package gstreamer-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-1.0' found
Package gstreamer-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-1.0' found
cc -c -o deepstream_test1_app.o -I../../../includes -I /usr/local/cuda-12.1/include  deepstream_test1_app.c
deepstream_test1_app.c:24:10: fatal error: gst/gst.h: No such file or directory
   24 | #include <gst/gst.h>
      |          ^~~~~~~~~~~
compilation terminated.
make: *** [Makefile:64: deepstream_test1_app.o] Error 1

Inspecting the installed packages in the container reviled that some of the dependencies are in installed in the container, more specifically libgstreamer1.0-0 gstreamer1.0-libav libgstreamer-plugins-base1.0-dev.

Once installed manually the error dissapeared. However, another similar error appears:

cc -c -o deepstream_test1_app.o -I../../../includes -I /usr/local/cuda-12.1/include -pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include deepstream_test1_app.c
deepstream_test1_app.c:27:10: fatal error: cuda_runtime_api.h: No such file or directory
   27 | #include <cuda_runtime_api.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:64: deepstream_test1_app.o] Error 1

Is there another docker container suitable for deepstream development that has already all the required dependencies?

Environment

TensorRT Version: NA
GPU Type: GeForce RTX 3050 Ti Mobile
Nvidia Driver Version: 525.147.05
CUDA Version: 12.1
CUDNN Version: 8
Operating System + Version: ubuntu 22.04
Python Version (if applicable): NA
TensorFlow Version (if applicable): NA
PyTorch Version (if applicable): NA
Baremetal or Container (if container which image + tag):

Relevant Files

Please attach or include links to any models, data, files, or scripts necessary to reproduce your issue. (Github repo, Google Drive, Dropbox, etc.)

Steps To Reproduce

  1. start container using the command
    docker run -it --rm --net=host --gpus all -e DISPLAY=$DISPLAY --device /dev/snd -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/deepstream:6.3-samples

  2. cd sources/apps/sample_apps/deepstream-test1/

  3. edit CUDA_VER in make file to 12.1

  4. make

This is a deepstream related issue, moving it to DS Forum

Thanks

6.3-samples This image is for demonstration.

For development purposes, deepstream:6.3-triton-multiarch can be used.

Use the user_additional_install.sh script in the /opt/nvidia/deepstream/deepstream directory to install dependencies

docker pull nvcr.io/nvidia/deepstream:6.3-triton-multiarch

xhost + 

docker run --gpus all -it --rm --net=host --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.3 nvcr.io/nvidia/deepstream:deepstream:6.3-triton-multiarch
1 Like

Thanks a lot. the mentioned image works. just one comment: the name of the image is incorrect - it has deepstream: twice. it should be

docker pull nvcr.io/nvidia/deepstream:6.3-triton-multiarch
1 Like

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