Tengine
Tengine copied to clipboard
Build Tengine with TensorRT failed in Jetson nano!
Enabling tensorrt in jetson-nano failed with the following error.
looser throw specifier for ‘virtual void Logger::log(nvinfer1::ILogger::Severity, const char*)’
void log(Severity severity, const char* msg) override
- Compile log:
Tengine/build-linux-trt$ cmake -DTENGINE_ENABLE_TENSORRT=ON -DTENGINE_BUILD_CPP_API=OFF -DTENGINE_ONLINE_REPORT=OFF .. -- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found CUDAToolkit: /usr/local/cuda/include (found version "10.2.300")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDNN: /usr/include (found version "8.2.1")
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Found OpenCV: /usr (found version "4.1.1")
--
--
-- Infomation Summary:
--
-- CMake infomation:
-- - CMake version: 3.21.2
-- - CMake generator: Unix Makefiles
-- - CMake building tools: /usr/bin/make
-- - Target System: Linux
-- - Target CPU arch: ARM
-- - Target building type: release
-- - Target CPU bus width: 64 Bit
--
-- tengine-lite toolchain infomation:
-- Cross compiling: FALSE
-- C/C++ compilier:
-- - C standard version: C99
-- - C standard required: TRUE
-- - C standard extensions: ON
-- - C compilier version: 7.5.0
-- - C compilier: /usr/bin/cc
-- - C++ standard version: C++11
-- - C++ standard required: TRUE
-- - C++ standard extensions: OFF
-- - C++ compilier version: 7.5.0
-- - C++ compilier: /usr/bin/c++
-- C/C++ compilier flags:
-- - C compilier flags:
-- - C++ compilier flags:
-- OpenMP:
-- - OpenMP was found: YES
-- - OpenMP version: 4.5
--
-- tengine-lite building infomation:
-- - Project source path is: /home/ghimire/Desktop/Tengine
-- - Project building path is: /home/ghimire/Desktop/Tengine/build-linux-trt
--
-- tengine-lite other infomation:
-- Package install path: /home/ghimire/Desktop/Tengine/build-linux-trt/install
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ghimire/Desktop/Tengine/build-linux-trt
- Build log
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/scale_neon.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/sgemm_4x16_a72.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/sgemm_4x16_deconv_a72.S.o
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:26:0:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_helper.hpp:103:10: error: looser throw specifier for ‘virtual void Logger::log(nvinfer1::ILogger::Severity, const char*)’
void log(Severity severity, const char* msg) override
^~~
In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1222:18: error: overriding ‘virtual void nvinfer1::ILogger::log(nvinfer1::ILogger::Severity, const AsciiChar*) noexcept’
virtual void log(Severity severity, AsciiChar const* msg) noexcept = 0;
^~~
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:27:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In constructor ‘TensorRTEngine::TensorRTEngine()’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_define.h:27:25: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
#define TRT_DEVICE_NAME "TensorRT"
^
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:88:29: note: in expansion of macro ‘TRT_DEVICE_NAME’
this->option.dev_name = TRT_DEVICE_NAME;
^~~~~~~~~~~~~~~
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/sgemm_4x4_a72.S.o
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In member function ‘int TensorRTEngine::PreRun(subgraph*, trt_option*)’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:664:86: warning: ‘nvinfer1::ICudaEngine* nvinfer1::IBuilder::buildEngineWithConfig(nvinfer1::INetworkDefinition&, nvinfer1::IBuilderConfig&)’ is deprecated [-Wdeprecated-declarations]
this->engine = this->builder->buildEngineWithConfig(*this->network, *this->config);
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7990:43: note: declared here
TRT_DEPRECATED nvinfer1::ICudaEngine* buildEngineWithConfig(
^~~~~~~~~~~~~~~~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In member function ‘int TensorRTEngine::PoseRun(subgraph*)’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:798:28: warning: ‘void nvinfer1::IExecutionContext::destroy()’ is deprecated [-Wdeprecated-declarations]
this->context->destroy();
^
In file included from /usr/include/aarch64-linux-gnu/NvInfer.h:54:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInferRuntime.h:1888:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:799:27: warning: ‘void nvinfer1::ICudaEngine::destroy()’ is deprecated [-Wdeprecated-declarations]
this->engine->destroy();
^
In file included from /usr/include/aarch64-linux-gnu/NvInfer.h:54:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInferRuntime.h:1434:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:800:27: warning: ‘void nvinfer1::IBuilderConfig::destroy()’ is deprecated [-Wdeprecated-declarations]
this->config->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7535:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:801:28: warning: ‘void nvinfer1::INetworkDefinition::destroy()’ is deprecated [-Wdeprecated-declarations]
this->network->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:5856:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:802:28: warning: ‘void nvinfer1::IBuilder::destroy()’ is deprecated [-Wdeprecated-declarations]
this->builder->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7929:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In member function ‘void TensorRTEngine::SetOption(trt_opt_t*)’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:859:21: warning: ‘void nvinfer1::IBuilder::destroy()’ is deprecated [-Wdeprecated-declarations]
bd->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7929:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/sgemm_4x4_deconv_a72.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/tran_inp_4.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/tran_out_4.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/wino_sgemm_1x16.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/wino_sgemm_1x4.S.o
[ 37%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/wino_sgemm_4x16_A72.S.o
[ 38%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/conv/cortex-a/armv8/wino_sgemm_4x4_A72.S.o
[ 38%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/fc/cortex-a/armv8/sgemv_1x2_a72.S.o
[ 38%] Building ASM object source/CMakeFiles/tengine-lite-static.dir/device/cpu/op/fc/cortex-a/armv8/sgemv_1x8_a72.S.o
source/CMakeFiles/tengine-lite.dir/build.make:2849: recipe for target 'source/CMakeFiles/tengine-lite.dir/device/tensorrt/trt_executor.cc.o' failed
make[2]: *** [source/CMakeFiles/tengine-lite.dir/device/tensorrt/trt_executor.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
[ 38%] Building CXX object source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/trt_device.cc.o
[ 38%] Building CXX object source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/trt_executor.cc.o
CMakeFiles/Makefile2:329: recipe for target 'source/CMakeFiles/tengine-lite.dir/all' failed
make[1]: *** [source/CMakeFiles/tengine-lite.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 38%] Building CXX object source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/trt_graph.cc.o
[ 38%] Building CXX object source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/op/trt_absval.cc.o
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:26:0:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_helper.hpp:103:10: error: looser throw specifier for ‘virtual void Logger::log(nvinfer1::ILogger::Severity, const char*)’
void log(Severity severity, const char* msg) override
^~~
In file included from /usr/include/aarch64-linux-gnu/NvInferLegacyDims.h:53:0,
from /usr/include/aarch64-linux-gnu/NvInfer.h:53,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h:1222:18: error: overriding ‘virtual void nvinfer1::ILogger::log(nvinfer1::ILogger::Severity, const AsciiChar*) noexcept’
virtual void log(Severity severity, AsciiChar const* msg) noexcept = 0;
^~~
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:27:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In constructor ‘TensorRTEngine::TensorRTEngine()’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_define.h:27:25: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
#define TRT_DEVICE_NAME "TensorRT"
^
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:88:29: note: in expansion of macro ‘TRT_DEVICE_NAME’
this->option.dev_name = TRT_DEVICE_NAME;
^~~~~~~~~~~~~~~
[ 38%] Building CXX object source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/op/trt_addn.cc.o
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In member function ‘int TensorRTEngine::PreRun(subgraph*, trt_option*)’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:664:86: warning: ‘nvinfer1::ICudaEngine* nvinfer1::IBuilder::buildEngineWithConfig(nvinfer1::INetworkDefinition&, nvinfer1::IBuilderConfig&)’ is deprecated [-Wdeprecated-declarations]
this->engine = this->builder->buildEngineWithConfig(*this->network, *this->config);
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7990:43: note: declared here
TRT_DEPRECATED nvinfer1::ICudaEngine* buildEngineWithConfig(
^~~~~~~~~~~~~~~~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In member function ‘int TensorRTEngine::PoseRun(subgraph*)’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:798:28: warning: ‘void nvinfer1::IExecutionContext::destroy()’ is deprecated [-Wdeprecated-declarations]
this->context->destroy();
^
In file included from /usr/include/aarch64-linux-gnu/NvInfer.h:54:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInferRuntime.h:1888:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:799:27: warning: ‘void nvinfer1::ICudaEngine::destroy()’ is deprecated [-Wdeprecated-declarations]
this->engine->destroy();
^
In file included from /usr/include/aarch64-linux-gnu/NvInfer.h:54:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInferRuntime.h:1434:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:800:27: warning: ‘void nvinfer1::IBuilderConfig::destroy()’ is deprecated [-Wdeprecated-declarations]
this->config->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7535:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:801:28: warning: ‘void nvinfer1::INetworkDefinition::destroy()’ is deprecated [-Wdeprecated-declarations]
this->network->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:5856:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:802:28: warning: ‘void nvinfer1::IBuilder::destroy()’ is deprecated [-Wdeprecated-declarations]
this->builder->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7929:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc: In member function ‘void TensorRTEngine::SetOption(trt_opt_t*)’:
/home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:859:21: warning: ‘void nvinfer1::IBuilder::destroy()’ is deprecated [-Wdeprecated-declarations]
bd->destroy();
^
In file included from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.hpp:40:0,
from /home/ghimire/Desktop/Tengine/source/device/tensorrt/trt_executor.cc:25:
/usr/include/aarch64-linux-gnu/NvInfer.h:7929:25: note: declared here
TRT_DEPRECATED void destroy() noexcept
^~~~~~~
[ 38%] Building CXX object source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/op/trt_batchnorm.cc.o
source/CMakeFiles/tengine-lite-static.dir/build.make:2849: recipe for target 'source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/trt_executor.cc.o' failed
make[2]: *** [source/CMakeFiles/tengine-lite-static.dir/device/tensorrt/trt_executor.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:355: recipe for target 'source/CMakeFiles/tengine-lite-static.dir/all' failed
make[1]: *** [source/CMakeFiles/tengine-lite-static.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
Any idea, please?
Deepak
Hello,
You have resolved this issue?
Thank you.
+++ b/source/device/tensorrt/trt_helper.hpp @@ -100,7 +100,7 @@ public: Logger(nvinfer1::ILogger::Severity severity = nvinfer1::ILogger::Severity::kINFO) : severity_(severity){}; - void log(Severity severity, const char* msg) override + void log(Severity severity, const char* msg) noexcept override