When I do cmake in /tensorrt/samples/opensource/sampleUffPluginV2Ext/build, it shows Unknown CMake command "set_ifndef". My cmake version is 3.12.1.
Per the README, you need CMake >= 3.13: https://github.com/NVIDIA/TensorRT#prerequisites
Even though I am using CMake version 3.13.4, I also got set_ifndef ..
Can anybody give me a solution??
Hi @bloomberry,
I use this script all the time to build this repo on x86 machines. Please use it as a reference for what's necessary: https://github.com/rmccorm4/tensorrt-utils/blob/master/OSS/build_OSS.sh
Hi @rmccorm4
Thank you for your response!
However, When I tried to run your script, following errors arised:
(base) jang@jang:/media/jang/DATA/axe$ sudo sh run.sh
...
Saving to: ‘cmake-3.14.4-Linux-x86_64.sh’
cmake-3.14.4-Linux-x86_64.sh 100%[================================================================================================================>] 35.47M 1.15MB/s in 32s
2020-04-09 09:41:19 (1.11 MB/s) - ‘cmake-3.14.4-Linux-x86_64.sh’ saved [37196929/37196929]
CMake Installer Version: 3.14.4, Copyright (c) Kitware
This is a self-extracting archive.
The archive will be extracted to: /usr/local
Using target directory: /usr/local
Extracting, please wait...
Unpacking finished successfully
run.sh: 34: run.sh: popd: not found
run.sh: 39: run.sh: source: not found
Building for TensorRT version: 7.0.0.1, library version: 7.0.0
-- The CXX compiler identification is GNU 5.5.0
-- The CUDA compiler identification is NVIDIA 10.0.130
-- Check for working CXX compiler: /usr/bin/g++
-- Check for working CXX compiler: /usr/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working CUDA compiler: /usr/local/cuda-10.0/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda-10.0/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Targeting TRT Platform: x86_64
-- GPU_ARCHS is not defined. Generating CUDA code for default SMs: 35;53;61;70;75
-- CUDA version set to 10.2
-- cuDNN version set to 7.6
-- Protobuf version set to 3.0.0
CMake Warning at CMakeLists.txt:200 (message):
Detected CUDA version is <= 10.0! Removing BERT plugins from compilation
list.
-- Using libprotobuf /media/jang/DATA/axe/TensorRT/build/third_party.protobuf/lib/libprotobuf.a
-- ========================= Importing and creating target nvinfer ==========================
-- Looking for library nvinfer
-- Library that was found /usr/lib/x86_64-linux-gnu/libnvinfer.so
-- ==========================================================================================
-- ========================= Importing and creating target nvuffparser ==========================
-- Looking for library nvparsers
-- Library that was found /usr/lib/x86_64-linux-gnu/libnvparsers.so
-- ==========================================================================================
-- Protobuf proto/trtcaffe.proto -> proto/trtcaffe.pb.cc proto/trtcaffe.pb.h
-- /media/jang/DATA/axe/TensorRT/build/parsers/caffe
-- The C compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
Generated: /media/jang/DATA/axe/TensorRT/build/parsers/onnx/third_party/onnx/onnx/onnx_onnx2trt_onnx-ml.proto
Generated: /media/jang/DATA/axe/TensorRT/build/parsers/onnx/third_party/onnx/onnx/onnx-operators_onnx2trt_onnx-ml.proto
--
-- ******** Summary ********
-- CMake version : 3.14.4
-- CMake command : /usr/local/bin/cmake
-- System : Linux
-- C++ compiler : /usr/bin/g++
-- C++ compiler version : 5.5.0
-- CXX flags : -Wno-deprecated-declarations -DBUILD_SYSTEM=cmake_oss -Wall -Wno-deprecated-declarations -Wno-unused-function -Wnon-virtual-dtor
-- Build type : Release
-- Compile definitions : _PROTOBUF_INSTALL_DIR=/media/jang/DATA/axe/TensorRT/build;ONNX_NAMESPACE=onnx2trt_onnx
-- CMAKE_PREFIX_PATH :
-- CMAKE_INSTALL_PREFIX : /usr/src/tensorrt/lib/..
-- CMAKE_MODULE_PATH :
--
-- ONNX version : 1.6.0
-- ONNX NAMESPACE : onnx2trt_onnx
-- ONNX_BUILD_TESTS : OFF
-- ONNX_BUILD_BENCHMARKS : OFF
-- ONNX_USE_LITE_PROTO : OFF
-- ONNXIFI_DUMMY_BACKEND : OFF
-- ONNXIFI_ENABLE_EXT : OFF
--
-- Protobuf compiler :
-- Protobuf includes :
-- Protobuf libraries :
-- BUILD_ONNX_PYTHON : OFF
-- Found TensorRT headers at /media/jang/DATA/axe/TensorRT/include
-- Find TensorRT libs at /usr/lib/x86_64-linux-gnu/libnvinfer.so;/usr/lib/x86_64-linux-gnu/libnvinfer_plugin.so;TENSORRT_LIBRARY_MYELIN-NOTFOUND
-- Could NOT find TENSORRT (missing: TENSORRT_LIBRARY)
ERRORCannot find TensorRT library.
-- Adding new sample: sample_char_rnn
-- - Parsers Used: none
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_dynamic_reshape
-- - Parsers Used: onnx
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_fasterRCNN
-- - Parsers Used: caffe
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: sample_googlenet
-- - Parsers Used: caffe
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_int8
-- - Parsers Used: caffe
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: sample_int8_api
-- - Parsers Used: onnx
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_mlp
-- - Parsers Used: caffe
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_mnist
-- - Parsers Used: caffe
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_mnist_api
-- - Parsers Used: caffe
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_movielens
-- - Parsers Used: uff
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_movielens_mps
-- - Parsers Used: uff
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_nmt
-- - Parsers Used: none
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_onnx_mnist
-- - Parsers Used: onnx
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_plugin
-- - Parsers Used: caffe
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: sample_reformat_free_io
-- - Parsers Used: caffe
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_ssd
-- - Parsers Used: caffe
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: sample_uff_fasterRCNN
-- - Parsers Used: uff
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: sample_uff_maskRCNN
-- - Parsers Used: uff
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: sample_uff_mnist
-- - Parsers Used: uff
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_uff_plugin_v2_ext
-- - Parsers Used: uff
-- - InferPlugin Used: OFF
-- - Licensing: opensource
-- Adding new sample: sample_uff_ssd
-- - Parsers Used: uff
-- - InferPlugin Used: ON
-- - Licensing: opensource
-- Adding new sample: trtexec
-- - Parsers Used: caffe;uff;onnx
-- - InferPlugin Used: ON
-- - Licensing: opensource
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
TENSORRT_LIBRARY_MYELIN
linked by target "nvonnxparser_static" in directory /media/jang/DATA/axe/TensorRT/parsers/onnx
linked by target "nvonnxparser" in directory /media/jang/DATA/axe/TensorRT/parsers/onnx
-- Configuring incomplete, errors occurred!
See also "/media/jang/DATA/axe/TensorRT/build/CMakeFiles/CMakeOutput.log".
See also "/media/jang/DATA/axe/TensorRT/build/CMakeFiles/CMakeError.log".
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
run.sh: 53: run.sh: figlet: not found
For now thus I set TENSORRT_LIBRARY and TENSORRT_LIBRARY_MYELIN in your script file
Hi @bloomberry,
run.sh: 34: run.sh: popd: not found
run.sh: 39: run.sh: source: not found
bash script, so sh probably won't work as intended.source build_OSS.sh, so that the environment variables (PATH, LD_LIBRARY_PATH, etc.) set inside the script will be visible in your shell after the script finishes.TENSORRT_LIBRARY_MYELIN NOTFOUND - this usually implies you don't have TensorRT 7 installed. Are you using an earlier version of TensorRT? For example, building the OSS components for TensorRT 6 requries using a different branch. You could try source build_OSS.sh 19.12 to build the OSS branch for TensorRT 6 -- but I recommend upgrading to TensorRT 7 if this is the case.Hi @rmccorm4
Thank you for quick response,
As you mentioned, the problem was that I was using TensorRT-5 instead of TensorRT-7.
cd ~/Downloads
# Download TensorRT-7.0.0.11.CentOS-7.6.x86_64-gnu.cuda-10.0.cudnn7.6.tar.gz
tar -xvzf TensorRT-7.0.0.11.CentOS-7.6.x86_64-gnu.cuda-10.0.cudnn7.6.tar.gz
export TRT_RELEASE=`pwd`/TensorRT-7.0.0.11
After reinstall TensorRT 7, your build script worked fine.
____
/ ___| _ _ ___ ___ ___ ___ ___
\___ \| | | |/ __/ __/ _ \/ __/ __|
___) | |_| | (_| (_| __/\__ \__ \
|____/ \__,_|\___\___\___||___/___/
Most helpful comment
Hi @rmccorm4
Thank you for quick response,
As you mentioned, the problem was that I was using TensorRT-5 instead of TensorRT-7.