Can't install update_rtpmanager.sh in DeepStream 6.4 docker image

Hello,

I am trying to install update_rtpmanager.sh within the image nvcr.io/nvidia/deepstream:6.4-gc-triton-devel as described by Nvidia here: DeepStream | NVIDIA NGC .

I am getting errors during the installation:

root@ip-172-31-9-127:/opt/nvidia/deepstream/deepstream# sh update_rtpmanager.sh 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
python3-pip is already the newest version (22.0.2+dfsg-1ubuntu0.4).
0 upgraded, 0 newly installed, 0 to remove and 112 not upgraded.
Requirement already satisfied: meson in /usr/lib/python3/dist-packages (0.61.2)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

[notice] A new release of pip is available: 23.3.1 -> 23.3.2
[notice] To update, run: python3 -m pip install --upgrade pip
Collecting ninja
  Downloading ninja-1.11.1.1-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata (5.3 kB)
Downloading ninja-1.11.1.1-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (307 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 307.2/307.2 kB 8.4 MB/s eta 0:00:00
Installing collected packages: ninja
Successfully installed ninja-1.11.1.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

[notice] A new release of pip is available: 23.3.1 -> 23.3.2
[notice] To update, run: python3 -m pip install --upgrade pip
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libmount-dev is already the newest version (2.37.2-4ubuntu3).
0 upgraded, 0 newly installed, 0 to remove and 112 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
flex is already the newest version (2.6.4-8build2).
0 upgraded, 0 newly installed, 0 to remove and 112 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
bison is already the newest version (2:3.8.2+dfsg-1build1).
flex is already the newest version (2.6.4-8build2).
0 upgraded, 0 newly installed, 0 to remove and 112 not upgraded.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libglib2.0-dev is already the newest version (2.72.4-0ubuntu2.2).
0 upgraded, 0 newly installed, 0 to remove and 112 not upgraded.
update_rtpmanager.sh: 36: pushd: not found
Cloning into 'gstreamer'...
remote: Enumerating objects: 900292, done.
remote: Counting objects: 100% (1365/1365), done.
remote: Compressing objects: 100% (580/580), done.
remote: Total 900292 (delta 894), reused 1203 (delta 778), pack-reused 898927
Receiving objects: 100% (900292/900292), 233.97 MiB | 33.71 MiB/s, done.
Resolving deltas: 100% (709721/709721), done.
Note: switching to 'ccf22e315cedf81e0075ab179ffb1b733da5206e'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Updating files: 100% (9964/9964), done.
update_rtpmanager.sh: 38: pushd: not found
error: subprojects/gst-plugins-good/gst/rtpmanager/gstrtpjitterbuffer.c: No such file or directory

ERROR: Neither directory contains a build file meson.build.
ninja: Entering directory `build/'
ninja: error: loading 'build.ninja': No such file or directory
update_rtpmanager.sh: 45: [[: not found
cp: cannot stat 'build/subprojects/gst-plugins-good/gst/rtpmanager/libgstrtpmanager.so': No such file or directory
update_rtpmanager.sh: 51: popd: not found
update_rtpmanager.sh: 52: popd: not found

Here’s the steps to reproduce the issue:

sudo docker run \
    -it \
    --rm \
    --net=host \
    --ipc=host \
    --gpus all \
    --shm-size 10G \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix/:/tmp/.X11-unix \
    --cap-add=SYS_PTRACE \
    --security-opt seccomp=unconfined \
    --device /dev/video0 \
    --privileged \
    nvcr.io/nvidia/deepstream:6.4-gc-triton-devel \
    bash

Then, within the container:

sh /opt/nvidia/deepstream/deepstream/user_additional_install.sh
sh /opt/nvidia/deepstream/deepstream/update_rtpmanager.sh

I also tried installing some dependencies for the python bindings but they didn’t help:


apt update && apt install -y python3-gi python3-dev python3-gst-1.0 python-gi-dev git meson \
    python3 python3-pip python3.10-dev cmake g++ build-essential libglib2.0-dev \
    libglib2.0-dev-bin libgstreamer1.0-dev libtool m4 autoconf automake libgirepository1.0-dev libcairo2-dev

How can I fix the installation?
Thank you

Could you just use the ./update_rtpmanager.sh command to run the script?

Thank you, @yuweiw . I didn’t realized that the script it a bash script, so it needed bash /opt/nvidia/deepstream/deepstream/update_rtpmanager.sh instead of sh /opt/nvidia/deepstream/deepstream/update_rtpmanager.sh.

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