Summary
The latest release of the Cuda Ubuntu PPA Repository that is used in the 6.3-triton-multiarch
container breaks nvinfer compilation.
Minimal reproduction
- Run container
docker run
-it \
--name launch \
--runtime nvidia \
--gpus all \
--entrypoint "" \
nvcr.io/nvidia/deepstream:6.3-triton-multiarch \
/bin/bash
- 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:
libnvparsers-dev
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
- 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.
Setup:
• Hardware Platform: GPU
• DeepStream Version: 6.3
• Issue Type: Bug