Skip to content

Cannot compile tensorrtbuffer #239

@wyyaa123

Description

@wyyaa123

System: Ubuntu 20.04 AMD64
CUDA: 12.1 (runtime file)
CUDNN: 9.0.0 (tar.xz)
TensorRT: 8.6.1.6 (tar.xz)
CMakeList.txt:

cmake_minimum_required(VERSION 3.6)
project(tensorrtbuffer)

set(CMAKE_CXX_STANDARD 17)

if(POLICY CMP0146)
    cmake_policy(SET CMP0146 OLD)
endif()

# tensorrt path (I added)
include_directories(/usr/local/TensorRT-8.6.1.6/include)
include_directories(/usr/local/TensorRT-8.6.1.6/samples/common)
link_directories(/usr/local/TensorRT-8.6.1.6/targets/x86_64-linux-gnu/lib)

find_package(CUDA REQUIRED)
include_directories("${CUDA_INCLUDE_DIRS}")

include_directories(
    ${PROJECT_SOURCE_DIR}/include
)

set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

add_library(tensorrtbuffer SHARED src/logger.cpp src/sample_options.cpp src/sample_utils.cpp)

System Envirment Check:
1.

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

2.cudnn

$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_
#ifndef CUDNN_VERSION_H_
#define CUDNN_VERSION_H_
#define CUDNN_MAJOR 9
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 0
#define CUDNN_VERSION (CUDNN_MAJOR * 10000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#define CUDNN_MAX_SM_MAJOR_NUMBER 9
#define CUDNN_MAX_SM_MINOR_NUMBER 0
#define CUDNN_MAX_DEVICE_VERSION (CUDNN_MAX_SM_MAJOR_NUMBER * 100 + CUDNN_MAX_SM_MINOR_NUMBER * 10)
#endif /* CUDNN_VERSION_H */

3.TensorRT
I download the Tensorrt 8.6.1.6 archive file from nvidia website, and unzip it.

Command I used:

cp ~/airslam_ws/src/AirSLAM/3rdparty/tensorrtbuffer ~/
cd ~/tensorrtbuffer/
mkdir build
cd build
cmake ..
make -j4

Some error messages:

1.
/home/wyyaa123/tensorrtbuffer/include/error_recorder.h: In member function ‘virtual void TensorRTErrorRecorder::clear()’:
/home/wyyaa123/tensorrtbuffer/include/error_recorder.h:78:13: error: ‘tensorrt_log’ has not been declared
   78 |             tensorrt_log::gLogFatal << "Internal Error: " << e.what() << std::endl;

2.
In file included from /home/wyyaa123/tensorrtbuffer/src/logger.cpp:18:
/usr/local/TensorRT-8.6.1.6/samples/common/logger.h:24:28: note: previous declaration as ‘SampleErrorRecorder gRecorder’
   24 | extern SampleErrorRecorder gRecorder;

3.
/home/wyyaa123/tensorrtbuffer/src/logger.cpp:26:5: error: ‘LogStreamConsumer’ does not name a type
   26 |     LogStreamConsumer gLogVerbose{LOG_VERBOSE(gLogger)};

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions