Reputation: 70
Hi I have several times compiled opencv in my host machine or several arm based system before. As all you now on arm based system compiling opencv takes longer time so I used Quemu to virtualized x86 processor to arm64 and I pulled nvidia jetpack from nvidia dochub page. I am using "nvcr.io/nvidia/l4t-base" so I have aarch64 based docker env.
When I follow my basic cmake configuration in this docker env.
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=6.2 \
-D CUDA_ARCH_PTX="" \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GSTREAMER_0_10=OFF \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=/../opencv3/opencv_contrib-3.4.9/modules \
-D CPACK_BINARY_DEB=ON \
../
I got attached following error log. But basically it says "fatal error: sys/videoio.h: No such file or directory" so I previously got videdev.h error but I solved installing v4l package.
Interesting point is when I give only cmake .. it works and install opencv but default conf. havent cuda and extra lib option. When I inspect after "cmake .." command there is still same fatal error in log file even though I saw configuration done.
I cant figure this error out. Even though it says with default cmake command same error but configuration goes done. When I apply cuda config it says same error but configuration cannnot be done. I am totaly sure cmake have any wrong parameter because of I have used on my jetson tx2 it works like perfect.
Do you have any idea ? Btw nvidia docker has 10.2 cuda support I checked with nvcc -V command Maybe in docker env it is impposible to compile opencv with cuda support or Should I start cuda supported docker container different way ?
Error log : https://paste.ubuntu.com/p/w9hjBxqJ6D/
Output log : https://paste.ubuntu.com/p/rqsvq356dR/
Here is another output
linked by target "opencv_annotation" in directory /opencv3/opencv-3.4.9/apps/annotation
linked by target "opencv_visualisation" in directory /opencv3/opencv-3.4.9/apps/visualisation
linked by target "opencv_interactive-calibration" in directory /opencv3/opencv-3.4.9/apps/interactive-calibration
linked by target "opencv_version" in directory /opencv3/opencv-3.4.9/apps/version
CUDA_nppist_LIBRARY (ADVANCED)
linked by target "opencv_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev
linked by target "opencv_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev
linked by target "opencv_test_cudev" in directory /opencv3/opencv-3.4.9/modules/cudev/test
linked by target "opencv_test_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_perf_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_core" in directory /opencv3/opencv-3.4.9/modules/core
linked by target "opencv_test_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_perf_cudaarithm" in directory /opencv3/opencv-3.4.9/modules/cudaarithm
linked by target "opencv_flann" in directory /opencv3/opencv-3.4.9/modules/flann
linked by target "opencv_flann" in directory /opencv3/opencv-3.4.9/modules/flann
linked by target "opencv_test_flann" in directory /opencv3/opencv-3.4.9/modules/flann
linked by target "opencv_perf_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_test_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_imgproc" in directory /opencv3/opencv-3.4.9/modules/imgproc
linked by target "opencv_test_ml" in directory /opencv3/opencv-3.4.9/modules/ml
linked by target "opencv_ml" in directory /opencv3/opencv-3.4.9/modules/ml
linked by target "opencv_ml" in directory /opencv3/opencv-3.4.9/modules/ml
linked by target "opencv_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_perf_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_test_video" in directory /opencv3/opencv-3.4.9/modules/video
linked by target "opencv_test_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_perf_cudabgsegm" in directory /opencv3/opencv-3.4.9/modules/cudabgsegm
linked by target "opencv_test_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_perf_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_cudafilters" in directory /opencv3/opencv-3.4.9/modules/cudafilters
linked by target "opencv_test_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_perf_cudaimgproc" in directory /opencv3/opencv-3.4.9/modules/cudaimgproc
linked by target "opencv_test_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_perf_cudawarping" in directory /opencv3/opencv-3.4.9/modules/cudawarping
linked by target "opencv_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_perf_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_test_dnn" in directory /opencv3/opencv-3.4.9/modules/dnn
linked by target "opencv_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_perf_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_test_features2d" in directory /opencv3/opencv-3.4.9/modules/features2d
linked by target "opencv_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_perf_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_test_imgcodecs" in directory /opencv3/opencv-3.4.9/modules/imgcodecs
linked by target "opencv_test_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_perf_photo" in directory /opencv3/opencv-3.4.9/modules/photo
linked by target "opencv_test_shape" in directory /opencv3/opencv-3.4.9/modules/shape
linked by target "opencv_shape" in directory /opencv3/opencv-3.4.9/modules/shape
linked by target "opencv_shape" in directory /opencv3/opencv-3.4.9/modules/shape
linked by target "opencv_test_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_perf_videoio" in directory /opencv3/opencv-3.4.9/modules/videoio
linked by target "opencv_calib3d" in directory /opencv3/opencv-3.4.9/modules/calib3d
linked by target "opencv_calib3d" in directory /opencv3/opencv-3.4.9/modules/calib3d
linked by target "opencv_perf_stitching" in directory /opencv3/opencv-3.4.9/modules/stitching
linked by target "opencv_test_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_perf_superres" in directory /opencv3/opencv-3.4.9/modules/superres
linked by target "opencv_test_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
linked by target "opencv_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
linked by target "opencv_videostab" in directory /opencv3/opencv-3.4.9/modules/videostab
linked by target "opencv_traincascade" in directory /opencv3/opencv-3.4.9/apps/traincascade
linked by target "opencv_createsamples" in directory /opencv3/opencv-3.4.9/apps/createsamples
linked by target "opencv_annotation" in directory /opencv3/opencv-3.4.9/apps/annotation
linked by target "opencv_visualisation" in directory /opencv3/opencv-3.4.9/apps/visualisation
linked by target "opencv_interactive-calibration" in directory /opencv3/opencv-3.4.9/apps/interactive-calibration
linked by target "opencv_version" in directory /opencv3/opencv-3.4.9/apps/version
Lats Progress: When I removed
-DOPENCV_EXTRA_MODULES_PATH=$HOME/opencv_contrib-3.4.9/modules \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-DCUDA_ARCH_BIN=6.2 \
-DCUDA_ARCH_PTX="" \
and Configuring done but I still need cuda and extra lib
Upvotes: 1
Views: 842
Reputation: 70
Solved with starting docker image host Cuda components and giving cmake conf. the directory of the toolkit. The important point is that if container comes with different versions of Cuda you shouldn't use it.
Use host cuda and give host cuda component directory or copy them into docker
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.0 \
Upvotes: 1