How to use build nvdsexample which requires cuda libraries in docker

• Hardware Platform (Jetson / GPU) Jetson
• DeepStream Version 6.1
• JetPack Version (valid for Jetson only) 4.x
• TensorRT Version 8.4
• Issue Type( questions, new requirements, bugs) questions

Hi, I’m trying to build nvdsexample in docker image based on http://nvcr.io/nvidia/deepstream-l4t:6.1-samples.
But the base image doesn’t contain required cuda libraries like cuda_runtime.h.

What should i do to build nvdsexample in docker image? It requires cuda, but the image seems not supporting cuda.

CUDA is the basic library and the deepstream dockers support it, normally it should be located in /usr/local/cuda* directory.

Ok. I’ll check it.

I checked /usr/local/cuda/include, but it has only files below.

nvToolsExt.h nvToolsExtCuda.h nvToolsExtCudaRt.h nvToolsExtOpenCL.h nvToolsExtSync.h nvtx3

Where have other header files gone? I tried find / -name cuda_runtime.h but it retuned nothing.

You can use deepstream:6.1-devel docker image which contains the development environment.

@yingliu I’m using Jetson AGX Orin. And it seems deepstream:6.1-devel docker image is made for dGPUs, not for Jetson series.

I tried docker pull nvcr.io/nvidia/deepstream-l4t:6.1-devel but it doesn’t work.

Is there any docker image including development files for Jetson?

Docker Containers — DeepStream 6.1 Release documentation (nvidia.com)

You are right, there is no -devel variants for Deepstream L4T. Can you run&compile examples (/opt/nvidia/deepstream/deepstream-6.1/sources/apps/sample_apps) in your current deepstream-l4t:6.1-samples docker container?
Just curious, why not install deepstream6.1 on Orin and run it directly?

You are right, there is no -devel variants for Deepstream L4T. Can you run&compile examples (/opt/nvidia/deepstream/deepstream-6.1/sources/apps/sample_apps) in your current deepstream-l4t:6.1-samples docker container?

No. It says it couldn’t find package gstreamer-1.0.
I faced this issue when i tried compiling dsexample and was able to get over by running apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev.

Just curious, why not install deepstream6.1 on Orin and run it directly?

Well, I have another Jetson - Jetson Xavier NX. At first, i decided to dockerize my app since i knew i would migrate to Jetson AGX Orin.

But now, to be honest, there’s no reason to use docker image. I should change my plan maybe.

@Amycao Can you help check the issue here?

1 Like

Seems you build dsexample successfully, right?
Did this still be an issue?

Yes. I had nothing to do but stop using the container.

The docker image didn’t have cuda and gstreamer development files. It was hard for me to install all of them on the image by myself.

The Jetson Docker containers are for deployment only. They do not support DeepStream software development within a container. You can build applications natively on the Jetson target and create containers for them by adding binaries to your docker images. Alternatively, you can generate Jetson containers from your workstation using instructions in the Building Jetson Containers on an x86 Workstation section in the NVIDIA Container Runtime for Jetson documentation.

1 Like

I got it. Thanks very much for kind supports.

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