Deepstream 6.3 no longer supported on Ubuntu 20.04 LTS

The latest release of the Cuda Ubuntu PPA Repository that is used in the 6.3-triton-multiarch container breaks nvinfer compilation.

Minimal reproduction

  1. Run container
docker run 
-it \
--name launch \
--runtime nvidia \
--gpus all \
--entrypoint "" \ \
  1. Observe working package
cd /opt/nvidia/deepstream/deepstream-6.3/sources/libs/nvdsinfer
CUDA_VER=12.1 make 

3.Update all packages

apt upgrade && apt dist-upgrade

When the latest libnvinfer-dev is updated, it removes libnvparsers-dev, which is needed for Deepstream 6.3 nvinfer:

The following packages will be REMOVED:
The following NEW packages will be installed:
  libcutensor2 libnvinfer-dispatch-dev libnvinfer-dispatch10
  libnvinfer-headers-dev libnvinfer-headers-plugin-dev libnvinfer-lean-dev
  libnvinfer-lean10 libnvinfer-plugin10 libnvinfer-vc-plugin-dev
  libnvinfer-vc-plugin10 libnvinfer10 libnvonnxparsers10
  1. Try to recompile nvinfer:
root@706b61129984:/opt/nvidia/deepstream/deepstream-6.3/sources/libs/nvdsinfer# CUDA_VER=12.1 make
g++ -c -o nvdsinfer_context_impl.o -fPIC -Wno-deprecated-declarations -std=c++14 -I /usr/local/cuda-12.1/include -I ../../includes -DNDEBUG nvdsinfer_context_impl.cpp
nvdsinfer_context_impl.cpp:24:10: fatal error: NvUffParser.h: No such file or directory
   24 | #include <NvUffParser.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:60: nvdsinfer_context_impl.o] Error 1

Error diagnosis
If you comment out the Cuda Ubuntu PPA Repository in /etc/apt/sources.list.d/cuda-ubuntu2004-x86_64.list and then update, the error no longer persists.

From here you single out the broken package candidate:

apt install --only-upgrade libnvinfer-dev

Which produces the same error as above. This implies that the latest PPA repo Package list is no longer supported in deepstream 6.3.

• Hardware Platform: GPU
• DeepStream Version: 6.3
• Issue Type: Bug

Please follow Quickstart Guide — DeepStream 6.3 Release documentation to install the CUDA and TensorRT libraries.

CUDA and TensorRT libraries are already included in the 6.3-triton-multiarch image. The problem is, I can’t update any of the libraries because they clash with libnvparsers (which force libnvparsers to be removed).

Running the CUDA and TensorRT installation after a dist-upgrade causes other bugs.

If you follow my steps I listed above, you should notice the error I am seeing.

I should also be able to run a dist-update to ubuntu without it breaking the container.
As I workaround I am just deleting the ppa repo from /etc/apt/sources.list.d/cuda-ubuntu2004-x86_64.list , however this isn’t ideal if any of the other libs included in that list need updating.

The tensorrt in the docker is already the version needed by DeepStream, you can’t update it. The tensorrt should not be updated.