Can someone help me with building OpenCV 4.5.5 on Ubuntu 18.04 with CUDA support?
I’m building OpenCV 4.5.5 with CUDA support on my Jetson Nano. But I always encounter the same issue when “make”(I also tried “sudo make”, and had the same issue) is building “modules/cudaarithm”:
[ 85%] Built target opencv_cudaarithm[ 85%] Building CXX object modules/cudaarithm/CMakeFiles/opencv_test_cudaarithm.dir/test/test_event.cpp.o/home/pairman/Downloads/opencv40/modules/cudaarithm/test/test_event.cpp: In member function ‘void opencv_test::{anonymous}::AsyncEvent_Timing_Test::UnsafeTestBody()’:/home/pairman/Downloads/opencv40/modules/cudaarithm/test/test_event.cpp:76:195: error: could not convert ‘{BLOCKING_SYNC, (1 | 2)}’ from ‘’ to ‘const std::vectorcv::cuda::Event::CreateFlags’
const std::vectorcv::cuda::Event::CreateFlags eventFlags = { cv::cuda::Event::CreateFlags::BLOCKING_SYNC , cv::cuda::Event::CreateFlags::BLOCKING_SYNC | Event::CreateFlags::DISABLE_TIMING };^
modules/cudaarithm/CMakeFiles/opencv_test_cudaarithm.dir/build.make:158: recipe for target ‘modules/cudaarithm/CMakeFiles/opencv_test_cudaarithm.dir/test/test_event.cpp.o’ failed
make[2]: *** [modules/cudaarithm/CMakeFiles/opencv_test_cudaarithm.dir/test/test_event.cpp.o]Error 1
CMakeFiles/Makefile2:3014: recipe for target ‘modules/cudaarithm/CMakeFiles/opencv_test_cudaarithm.dir/all’ failed
make[1]: *** [modules/cudaarithm/CMakeFiles/opencv_test_cudaarithm.dir/all] Error 2Makefile:162: recipe for target ‘all’ failed
make: *** [all] Error 2
Previously I compiled OpenCV 3.4.17 for myself with no errors. I have no idea why the error happens.
I’m using Jetpack 4.6:
pairman@jetson:~/Downloads/opencv40/build$ jetson_release
- NVIDIA Jetson Nano (Developer Kit Version)
- Jetpack UNKNOWN [L4T 32.7.1]
- NV Power Mode: MAXN - Type: 0
- jetson_stats.service: active
- Libraries:
- CUDA: 10.2.300
- cuDNN: 8.2.1.32
- TensorRT: 8.2.1.8
- Visionworks: 1.6.0.501
- OpenCV: NOT_INSTALLED compiled CUDA: NO
- VPI: ii libnvvpi1 1.2.3 arm64 NVIDIA Vision Programming Interface library
- Vulkan: 1.2.70
pairman@jetson:~/Downloads/opencv40/build$ uname -a
Linux jetson 4.9.253-tegra #1 SMP PREEMPT Sat Feb 19 08:59:22 PST 2022 aarch64 aarch64 aarch64 GNU/Linux
The CMakeDownLog seems to have no issue:
pairman@jetson:~/Downloads/opencv40/build$ cat Download
#use_cache “/home/pairman/Downloads/opencv40/.cache”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_ADE_HASH_3rdparty_ade_v0_1_1f_zip”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_WECHAT_QRCODE_HASH_downloads_wechat_qrcode_detect_caffemodel”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_WECHAT_QRCODE_HASH_downloads_wechat_qrcode_detect_prototxt”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_WECHAT_QRCODE_HASH_downloads_wechat_qrcode_sr_caffemodel”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_WECHAT_QRCODE_HASH_downloads_wechat_qrcode_sr_prototxt”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_bgm_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_bgm_bi_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_bgm_hd_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_binboost_064_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_binboost_128_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_binboost_256_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_BOOSTDESC_HASH_downloads_xfeatures2d_boostdesc_lbgm_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_VGG_HASH_downloads_xfeatures2d_vgg_generated_48_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_VGG_HASH_downloads_xfeatures2d_vgg_generated_64_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_VGG_HASH_downloads_xfeatures2d_vgg_generated_80_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_XFEATURES2D_VGG_HASH_downloads_xfeatures2d_vgg_generated_120_i”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_DATA_HASH_share_opencv4_testdata_cv_face_face_landmark_model_dat”
#match_hash_in_cmake_cache “OCV_DOWNLOAD_NVIDIA_OPTICAL_FLOW_HASH_3rdparty_NVIDIAOpticalFlowSDK_2_0_Headers_edb50da3cf849840d680249aa6dbef248ebce2ca_zip”
And I’m using this CMake command. CMake will find the python libs automatically so I’m not giving these parameters
cmake -D BUILD_EXAMPLES=ON
-D INSTALL_C_EXAMPLES=ON
-D INSTALL_PYTHON_EXAMPLES=ON - D CMAKE_BUILD_TYPE=Release
-D CMAKE_INSTALL_PREFIX=/usr/local
-D CUDA_ARCH_BIN=5.3
-D CUDA_ARCH_PTX=
-D CUDA_FAST_MATH=ON
-D CUDNN_VERSION=‘8.0’
-D WITH_LIBV4L=ON
-D WITH_GSTREAMER=ON
-D WITH_GSTREAMER_0_10=OFF
-D WITH_QT=ON
-D WITH_TBB=ON
-D ENABLE_NEON=ON
-D OPENCV_DNN_CUDA=ON
-D OPENCV_ENABLE_NONFREE=ON
-D OPENCV_GENERATE_PKGCONFIG=ON
-D WITH_CUBLAS=ON
-D WITH_LAPACK=OFF
-D WITH_CUDA=ON
-D WITH_CUDNN=ON
-D CUDA_GENERATION=Maxwell
-D CUDA_NVCC_FLAGS=“–expt-relaxed-constexpr”
-D WITH_FFMPEG=ON
-D ENABLE_FAST_MATH=ON
-D WITH_OPENGL=ON
-D BUILD_opencv_python2=ON
-D BUILD_opencv_python3=ON …