Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Tengine with TensorRT failed in Jetson nano! #1125

Open
ghimiredhikura opened this issue Sep 7, 2021 · 2 comments
Open

Build Tengine with TensorRT failed in Jetson nano! #1125

ghimiredhikura opened this issue Sep 7, 2021 · 2 comments

Comments

@ghimiredhikura
Copy link

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

@leeyunhome
Copy link

Hello,

You have resolved this issue?

Thank you.

@ringwraith
Copy link

ringwraith commented Sep 14, 2022

+++ 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants