2017-02-16 8 views
1

私はCUDA 8.0サポートでopencvをコンパイルしようとしています(私はCUDAなしで正常にコンパイルしました)。 cv::cuda::SURF_CUDAcv::xfeatures2d::SURFだけが必要なので、ほとんどのモジュールを無効にしました。cmake割り込みエラーなしでCUDAサポート付きOpenCVビルド

これは私のcmakeの設定です:私はmakeまたはmake installを実行する場合

-- General configuration for OpenCV 3.2.0-dev ===================================== 
-- Version control:    3.2.0-168-g47ae5f1 
-- 
-- Extra modules: 
--  Location (extra):   /home/luca/ParallelOpenCV/opencv_contrib/modules 
--  Version control (extra):  3.2.0-55-g8b74484-dirty 
-- 
-- Platform: 
--  Timestamp:     2017-02-16T10:10:04Z 
--  Host:      Linux 4.4.0-62-generic x86_64 
--  CMake:      3.5.1 
--  CMake generator:    Unix Makefiles 
--  CMake build tool:   /usr/bin/make 
--  Configuration:    RelWithDebInfo 
-- 
-- C/C++: 
--  Built as dynamic libs?:  YES 
--  C++ Compiler:    /usr/bin/c++ (ver 5.4.0) 
--  C++ flags (Release):   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffast-math -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp -O3 -DNDEBUG -DNDEBUG 
--  C++ flags (Debug):   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffast-math -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp -g -O0 -DDEBUG -D_DEBUG 
--  C Compiler:     /usr/bin/cc 
--  C flags (Release):   -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffast-math -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fopenmp -O3 -DNDEBUG -DNDEBUG 
--  C flags (Debug):    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffast-math -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fopenmp -g -O0 -DDEBUG -D_DEBUG 
--  Linker flags (Release): 
--  Linker flags (Debug): 
--  ccache:      NO 
--  Precompiled headers:   YES 
--  Extra dependencies:   /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/x86_64-linux-gnu/libz.so gtk-x11-2.0 gdk-x11-2.0 pangocairo-1.0 atk-1.0 cairo gdk_pixbuf-2.0 gio-2.0 pangoft2-1.0 pango-1.0 gobject-2.0 glib-2.0 fontconfig freetype gthread-2.0 avcodec-ffmpeg avformat-ffmpeg avutil-ffmpeg swscale-ffmpeg dl m pthread rt cudart nppc nppi npps cublas cufft -L/usr/local/cuda-8.0/lib64 
--  3rdparty dependencies:  libjpeg libwebp libtiff libjasper IlmImf 
-- 
-- OpenCV modules: 
--  To be built:     cudev core cudaarithm flann imgproc ml video cudabgsegm cudafilters cudaimgproc cudawarping imgcodecs shape videoio cudacodec highgui objdetect xobjdetect features2d calib3d cudafeatures2d cudalegacy cudaobjdetect cudaoptflow cudastereo xfeatures2d 
--  Disabled:     photo stitching superres ts videostab world aruco bgsegm bioinspired ccalib contrib_world datasets dnn dpm face freetype fuzzy line_descriptor matlab optflow phase_unwrapping plot reg rgbd saliency stereo structured_light surface_matching text tracking ximgproc xphoto 
--  Disabled by dependency:  - 
--  Unavailable:     java python2 python3 viz cnn_3dobj cvv hdf sfm 
-- 
-- GUI: 
--  QT:       NO 
--  GTK+ 2.x:     YES (ver 2.24.30) 
--  GThread :     YES (ver 2.48.1) 
--  GtkGlExt:     NO 
--  OpenGL support:    NO 
--  VTK support:     NO 
-- 
-- Media I/O: 
--  ZLib:      /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.8) 
--  JPEG:      libjpeg (ver 90) 
--  WEBP:      build (ver 0.3.1) 
--  PNG:       /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.54) 
--  TIFF:      build (ver 42 - 4.0.2) 
--  JPEG 2000:     build (ver 1.900.1) 
--  OpenEXR:      build (ver 1.7.1) 
--  GDAL:      NO 
--  GDCM:      NO 
-- 
-- Video I/O: 
--  DC1394 1.x:     NO 
--  DC1394 2.x:     NO 
--  FFMPEG:      YES 
--  avcodec:     YES (ver 56.60.100) 
--  avformat:     YES (ver 56.40.101) 
--  avutil:     YES (ver 54.31.100) 
--  swscale:     YES (ver 3.1.101) 
--  avresample:    NO 
--  GStreamer:     NO 
--  OpenNI:      NO 
--  OpenNI PrimeSensor Modules: NO 
--  OpenNI2:      NO 
--  PvAPI:      NO 
--  GigEVisionSDK:    NO 
--  Aravis SDK:     NO 
--  UniCap:      NO 
--  UniCap ucil:     NO 
--  V4L/V4L2:     NO/YES 
--  XIMEA:      NO 
--  Xine:      NO 
--  gPhoto2:      NO 
-- 
-- Parallel framework:   OpenMP 
-- 
-- Other third-party libraries: 
--  Use IPP:      9.0.1 [9.0.1] 
--   at:      /home/luca/ParallelOpenCV/opencv/build/3rdparty/ippicv/ippicv_lnx 
--  Use IPP Async:    NO 
--  Use VA:      NO 
--  Use Intel VA-API/OpenCL:  NO 
--  Use Lapack:     NO 
--  Use Eigen:     YES (ver 3.2.92) 
--  Use Cuda:     YES (ver 8.0) 
--  Use OpenCL:     YES 
--  Use OpenVX:     NO 
--  Use custom HAL:    NO 
-- 
-- NVIDIA CUDA 
--  Use CUFFT:     YES 
--  Use CUBLAS:     YES 
--  USE NVCUVID:     NO 
--  NVIDIA GPU arch:    20 30 35 37 50 52 60 61 
--  NVIDIA PTX archs: 
--  Use fast math:    YES 
-- 
-- OpenCL:      <Dynamic loading of OpenCL library> 
--  Include path:    /home/luca/ParallelOpenCV/opencv/3rdparty/include/opencl/1.2 
--  Use AMDFFT:     NO 
--  Use AMDBLAS:     NO 
-- 
-- Python 2: 
--  Interpreter:     /usr/bin/python2.7 (ver 2.7.12) 
-- 
-- Python 3: 
--  Interpreter:     /usr/bin/python3 (ver 3.5.2) 
-- 
-- Python (for build):   /usr/bin/python2.7 
-- 
-- Java: 
--  ant:       NO 
--  JNI:       /usr/lib/jvm/java-8-oracle/include /usr/lib/jvm/java-8-oracle/include/linux /usr/lib/jvm/java-8-oracle/include 
--  Java wrappers:    NO 
--  Java tests:     NO 
-- 
-- Matlab: 
--  mex:       /usr/local/MATLAB/R2016b/bin/mex 
--  Compiler/generator:   Not working (bindings will not be generated) 
-- 
-- Documentation: 
--  Doxygen:      NO 
-- 
-- Tests and samples: 
--  Tests:      NO 
--  Performance tests:   NO 
--  C/C++ Examples:    NO 
-- 
-- Install path:     /home/luca/ParallelOpenCV/parallelOpenCV 
-- 
-- cvconfig.h is in:    /home/luca/ParallelOpenCV/opencv/build 
-- ----------------------------------------------------------------- 
-- 

はしかし、それは(何もインストールせずに)100%でプロセスを停止します。これが出力されます。

Scanning dependencies of target opencv_cudalegacy 
[ 97%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/bm.cpp.o 
[ 97%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/gmg.cpp.o 
[ 97%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/interpolate_frames.cpp.o 
[ 97%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/calib3d.cpp.o 
[ 97%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/image_pyramid.cpp.o 
[ 98%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/bm_fast.cpp.o 
[ 98%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o 
[ 98%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/NCV.cpp.o 
[ 98%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/needle_map.cpp.o 
[ 98%] Building CXX object modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/fgd.cpp.o 
[ 99%] Linking CXX shared library ../../lib/libopencv_cudalegacy.so 
[ 99%] Built target opencv_cudalegacy 
[ 99%] Building NVCC (Device) object modules/cudaobjdetect/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_lbp.cu.o 
[ 99%] Building NVCC (Device) object modules/cudaoptflow/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_tvl1flow.cu.o 
[ 99%] Building NVCC (Device) object modules/cudaoptflow/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_pyrlk.cu.o 
[ 99%] Building NVCC (Device) object modules/cudaoptflow/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_farneback.cu.o 
[ 99%] Building NVCC (Device) object modules/cudaobjdetect/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_hog.cu.o 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning). 
Scanning dependencies of target opencv_cudaobjdetect 
[ 99%] Building CXX object modules/cudaobjdetect/CMakeFiles/opencv_cudaobjdetect.dir/src/cascadeclassifier.cpp.o 
[ 99%] Building CXX object modules/cudaobjdetect/CMakeFiles/opencv_cudaobjdetect.dir/src/hog.cpp.o 
[ 99%] Linking CXX shared library ../../lib/libopencv_cudaobjdetect.so 
[ 99%] Built target opencv_cudaobjdetect 
Scanning dependencies of target opencv_cudaoptflow 
[ 99%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/tvl1flow.cpp.o 
[ 99%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/farneback.cpp.o 
[ 99%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/brox.cpp.o 
[ 99%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/pyrlk.cpp.o 
[100%] Linking CXX shared library ../../lib/libopencv_cudaoptflow.so 
[100%] Built target opencv_cudaoptflow 

そしてそれは突然、何もインストールしないでせずに、それを終了します!また、makeまたはmake installを再度実行すると、もう一度最初から開始されます。これはCUDAなしでは起こらないことに注意してください。

これはどうしてですか?

+0

あなたはおそらくあまりにも多くのものをオフにしました。 OpenCVのビルドスクリプトには最小限のビルド時にいくつかのバグがあり、何かをやり遂げることができない場合があります。希望の効果があるかどうかをより多くのもので確認することを試してみてください(opencv_coreだけをビルドしようとしたときに同様の問題が発生しましたが修正されました) –

答えて

0

cmakeは、インストール場所内の以前のオブジェクトを削除しなかったので、ビルドライブラリのインストールに問題がありました。私が手作業でそれらを取り除くと、問題は解決されました(たとえ私がmake installがそれらを上書きしてしまったと思ったとしても)。

関連する問題