Deepstream SDK 5.1 objectDetector_SSD compilation error

Please provide complete information as applicable to your setup.

• Hardware Platform (GPU)
• DeepStream Version 5.1
• JetPack Version (valid for Jetson only)
• TensorRT Version 8.0
• NVIDIA GPU Driver Version (465.19.01)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

I am new to Deepstream, and when I try to compile the sample detector SSD as the README instruction:

& cd /opt/nvidia/deepstream/deepstream/sources/object_Detector_SSD/nvdsinfer_custom_impl_ssd

& make

Then I found the following errors:

375 | nvcaffeparser1::IPluginFactory *pluginFactory;
| ^~~~~~~~~~~~~~
| IPluginFactoryV2
…/…/includes/nvdsinfer_custom_impl.h:376:19: error: ‘IPluginFactoryExt’ in namespace ‘nvcaffeparser1’ does not name a type; did you mean ‘IPluginFactoryV2’?
376 | nvcaffeparser1::IPluginFactoryExt *pluginFactoryExt;
| ^~~~~~~~~~~~~~~~~
| IPluginFactoryV2
…/…/includes/nvdsinfer_custom_impl.h:386:16: error: ‘IPluginFactory’ in namespace ‘nvuffparser’ does not name a type
386 | nvuffparser::IPluginFactory *pluginFactory;
| ^~~~~~~~~~~~~~
…/…/includes/nvdsinfer_custom_impl.h:387:16: error: ‘IPluginFactoryExt’ in namespace ‘nvuffparser’ does not name a type
387 | nvuffparser::IPluginFactoryExt *pluginFactoryExt;
| ^~~~~~~~~~~~~~~~~
nvdsiplugin_ssd.cpp:91:9: error: looser throw specifier for ‘virtual int FlattenConcat::getNbOutputs() const’
91 | int getNbOutputs() const override { return 1; }
| ^~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/NvInferLegacyDims.h:53,
from /usr/include/x86_64-linux-gnu/NvInfer.h:53,
from /usr/include/x86_64-linux-gnu/NvInferPlugin.h:53,
from nvdsiplugin_ssd.cpp:23:
/usr/include/x86_64-linux-gnu/NvInferRuntimeCommon.h:442:21: note: overridden function is ‘virtual int32_t nvinfer1::IPluginV2::getNbOutputs() const noexcept’
442 | virtual int32_t getNbOutputs() const noexcept = 0;
| ^~~~~~~~~~~~
nvdsiplugin_ssd.cpp:93:10: error: looser throw specifier for ‘virtual nvinfer1::Dims FlattenConcat::getOutputDimensions(int, const Dims*, int)’
93 | Dims getOutputDimensions(int index, const Dims* inputs, int nbInputDims) override

Could anyone give me some instruction?

Did you use TRT 8.0? you should use 7.2.2 for deepstream 5.1

Thanks for your reply. Actually my ubuntu version is 20.04, and I observed that TRT7.2.2 just supports to Ubuntu 18.04. Should I stil install 7.2.2 on my ubuntu 20.04? Or is there any other solution that can fixes this problem ?

You can use docker to avoid this.
https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_docker_containers.html

Really thanks!

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