Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
Jetson Xavier NX
• DeepStream Version
6.0
• JetPack Version (valid for Jetson only)
32.6.1
• Issue Type( questions, new requirements, bugs)
I’m trying to deploy our Deepstream Python app in a Docker container. I’m using the “nvcr.io/nvidia/deepstream-l4t:6.0-samples” container as a base, but nvcr.io/nvidia/deepstream-l4t:6.0-base would work just as well, I suppose. While trying to build the bindings, I’m running into a problem. Deepstream library is not found.
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:93 (message):
Missing libnvbufsurface.so at
/opt/nvidia/deepstream/deepstream-6.0/lib/libnvbufsurface.so
please make sure that deepstream is installed
Call Stack (most recent call first):
CMakeLists.txt:103 (add_ds_lib)
-- Configuring incomplete, errors occurred!
I’m using this in my Dockerfile:
# Deepstream Python Bindings
RUN apt install -y \
python-dev \
python3.6-dev \
g++ \
libglib2.0-dev \
libglib2.0-dev-bin \
python-gi-dev \
libtool \
m4 \
autoconf \
automake && \
cd /tmp && \
git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps.git && \
cd deepstream_python_apps && \
git submodule update --init && \
apt-get install --reinstall ca-certificates && \
cd 3rdparty/gst-python/ && \
./autogen.sh && \
make && \
make install && \
cd /tmp/deepstream_python_apps/bindings/ && \
mkdir build && \
cd build && \
cmake .. && \
make && \
pip3 install ./pyds*.whl
Which I somewhat distilled from the README in the Github repo. I’m clearly doing something wrong. I found the library it’s asking for in
/usr/lib/aarch64-linux-gnu/tegra/
But when I try to copy or simlink them, Docker errors the build process saying it can’t find the files and directories? I’m pulling my hair out by this stage because when I just run the original container the files are right there…
Does anyone have a clearcut manual to build/install the Python bindings in a container? I’m doing a aarch64 container right now but in the near future I need to deploy this very same app in a x86 container on dGPU as well. So any solution does need to be multiplatform (maybe using a different Dockerfile, of course).
In the container:
root@15357a483294:/opt/nvidia/deepstream/deepstream/lib# ll | grep libnvbuf
lrwxrwxrwx 1 root root 51 Oct 6 04:32 libnvbufsurface.so -> /usr/lib/aarch64-linux-gnu/tegra/libnvbufsurface.so
lrwxrwxrwx 1 root root 57 Oct 6 04:32 libnvbufsurftransform.so -> /usr/lib/aarch64-linux-gnu/tegra/libnvbufsurftransform.so
root@15357a483294:/usr/lib/aarch64-linux-gnu/tegra# ll | grep libnvbuf
-rw-r--r-- 1 root root 9952 Sep 17 04:09 libnvbuf_fdmap.so.1.0.0
lrwxrwxrwx 1 root root 23 Dec 2 10:01 libnvbuf_utils.so -> libnvbuf_utils.so.1.0.0
-rw-r--r-- 1 root root 45136 Sep 17 04:09 libnvbuf_utils.so.1.0.0
lrwxrwxrwx 1 root root 24 Dec 2 10:01 libnvbufsurface.so -> libnvbufsurface.so.1.0.0
-rw-r--r-- 1 root root 446160 Sep 17 04:09 libnvbufsurface.so.1.0.0
lrwxrwxrwx 1 root root 30 Dec 2 10:01 libnvbufsurftransform.so -> libnvbufsurftransform.so.1.0.0
-rw-r--r-- 1 root root 32793112 Sep 17 04:09 libnvbufsurftransform.so.1.0.0