19

So I am installing the latest version of OpenCV 3.2.0 and it just got stuck on 99% (even though I passed nproc to -j for make it took really long time and my nproc output is 24) and I wonder if there's a solution as I prefer not to stop it. I am not receiving any error:

CUDA 8
Python 3.4.3
OpenCV3.2.0
Ubuntu 14.04

and

[ 98%] Built target opencv_stitching
Scanning dependencies of target opencv_test_stitching
Scanning dependencies of target opencv_perf_stitching

BUILD SUCCESSFUL
Total time: 3 seconds
[ 99%] [ 99%] [ 99%] [ 99%] Building CXX object modules/stitching/CMakeFiles/opencv_test_stitching.dir/test/test_matchers.cpp.o
Building CXX object modules/stitching/CMakeFiles/opencv_test_stitching.dir/test/test_main.cpp.o
Building CXX object modules/stitching/CMakeFiles/opencv_test_stitching.dir/test/ocl/test_warpers.cpp.o
Building CXX object modules/stitching/CMakeFiles/opencv_test_stitching.dir/test/test_blenders.cpp.o
[ 99%] [ 99%] [ 99%] [ 99%] Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/perf_estimators.cpp.o
[ 99%] Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/perf_stich.cpp.o
[ 99%] Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/perf_main.cpp.o
Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/perf_matchers.cpp.o
Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/opencl/perf_stitch.cpp.o
Building CXX object modules/stitching/CMakeFiles/opencv_perf_stitching.dir/perf/opencl/perf_warpers.cpp.o
[ 99%] Built target opencv_test_java
[ 99%] Built target opencv_perf_cudaobjdetect
Linking CXX executable ../../bin/opencv_test_cudaobjdetect
[ 99%] Built target opencv_test_cudaobjdetect
Linking CXX executable ../../bin/opencv_test_stitching
[ 99%] Built target opencv_test_stitching
Linking CXX executable ../../bin/opencv_perf_stitching
[ 99%] Built target opencv_perf_stitching
talonmies
  • 70,661
  • 34
  • 192
  • 269
Mona Jalal
  • 34,860
  • 64
  • 239
  • 408
  • 2
    I have the similar problem which hangs at `Building NVCC (Device) object modules/cudaoptflow/CMakeFiles/cuda_compile.dir/src/cuda/cuda_compile_generated_pyrlk.cu.o` But I don't know how long should I wait ... – Bossliaw Feb 07 '17 at 03:22

4 Answers4

50

well, turns out it gets stuck for quite a long time and then moves forward successfully. Don't stop the installation. BE PATIENT!

[ 99%] Built target opencv_perf_stitching

Scanning dependencies of target opencv_cudaoptflow
[ 99%] [ 99%] [ 99%] [ 99%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/pyrlk.cpp.o
Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/brox.cpp.o
Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/farneback.cpp.o
Building CXX object modules/cudaoptflow/CMakeFiles/opencv_cudaoptflow.dir/src/tvl1flow.cpp.o
Linking CXX shared library ../../lib/libopencv_cudaoptflow.so
[ 99%] Built target opencv_cudaoptflow
[100%] [100%] [100%] Scanning dependencies of target opencv_test_cudaoptflow
Scanning dependencies of target opencv_perf_cudaoptflow
Building NVCC (Device) object modules/videostab/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_global_motion.cu.o
Generating opencl_kernels_superres.cpp, opencl_kernels_superres.hpp
Building NVCC (Device) object modules/superres/CMakeFiles/cuda_compile.dir/src/cuda/./cuda_compile_generated_btv_l1_gpu.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).
[100%] [100%] [100%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_perf_cudaoptflow.dir/perf/perf_main.cpp.o
Building CXX object modules/cudaoptflow/CMakeFiles/opencv_perf_cudaoptflow.dir/perf/perf_optflow.cpp.o
[100%] Building CXX object modules/cudaoptflow/CMakeFiles/opencv_test_cudaoptflow.dir/test/test_main.cpp.o
Building CXX object modules/cudaoptflow/CMakeFiles/opencv_test_cudaoptflow.dir/test/test_optflow.cpp.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).
Linking CXX executable ../../bin/opencv_perf_cudaoptflow
Linking CXX executable ../../bin/opencv_test_cudaoptflow
[100%] Built target opencv_perf_cudaoptflow
[100%] Built target opencv_test_cudaoptflow
Scanning dependencies of target opencv_superres
[100%] [100%] [100%] [100%] [100%] [100%] Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/frame_source.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/btv_l1_cuda.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/btv_l1.cpp.o
[100%] Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/optical_flow.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/input_array_utility.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/super_resolution.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/opencl_kernels_superres.cpp.o
Linking CXX shared library ../../lib/libopencv_superres.so
[100%] Built target opencv_superres
Scanning dependencies of target opencv_perf_superres
Scanning dependencies of target opencv_test_superres
[100%] [100%] [100%] [100%] Building CXX object modules/superres/CMakeFiles/opencv_perf_superres.dir/perf/perf_superres.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_test_superres.dir/test/test_superres.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_test_superres.dir/test/test_main.cpp.o
Building CXX object modules/superres/CMakeFiles/opencv_perf_superres.dir/perf/perf_main.cpp.o
Linking CXX executable ../../bin/opencv_test_superres
[100%] Built target opencv_test_superres
Linking CXX executable ../../bin/opencv_perf_superres
[100%] Built target opencv_perf_superres
Scanning dependencies of target opencv_videostab
[100%] [100%] [100%] [100%] [100%] [100%] [100%] Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/global_motion.cpp.o
[100%] [100%] Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/optical_flow.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/frame_source.cpp.o
[100%] [100%] Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/fast_marching.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/motion_stabilizing.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/wobble_suppression.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/deblurring.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/inpainting.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/outlier_rejection.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/log.cpp.o
Building CXX object modules/videostab/CMakeFiles/opencv_videostab.dir/src/stabilizer.cpp.o
Linking CXX shared library ../../lib/libopencv_videostab.so
[100%] Built target opencv_videostab
[100%] Generating pyopencv_generated_include.h, pyopencv_generated_funcs.h, pyopencv_generated_types.h, pyopencv_generated_type_reg.h, pyopencv_generated_ns_reg.h
Scanning dependencies of target opencv_python2
[100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o
Linking CXX shared module ../../lib/cv2.so
[100%] Built target opencv_python2
Pedro Lobito
  • 94,083
  • 31
  • 258
  • 268
Mona Jalal
  • 34,860
  • 64
  • 239
  • 408
11

I had the same problem. The command make -j4 resulted in the making process getting stuck at 99%. Unlike other luckier users, despite waiting several hours, and despite having 7.5 GB of swap memory, my process did not resolve.

What did work, however, is a suggestion I found on this web page, which was trying to build with a single core instead:

make -j1

It took longer, but worked.

raggot
  • 992
  • 15
  • 38
  • 1
    Idk if memory matters but I had 128G RAM on that machine and about 48 cores if I am not wrong – Mona Jalal Apr 16 '18 at 15:07
  • Working on a budget!.. I have no clue, I actually +1'd your answer which I found reassuring, but after 3 hours it was still not done. This solution worked for me, so perhaps it will help others, too. – raggot Apr 16 '18 at 20:02
  • 1
    It worked for me, before that was waiting for more then one hour, after I tried your solution took only less then 10min. Big cheers ! – marOne Nov 15 '19 at 03:50
  • I'm at 100%, will this command restart the whole process or continue? – Shardul Birje Nov 07 '20 at 12:59
1

You should increase your swap.

My install was getting stuck as well until I increased my swap. Then it completed. You could try temporarily doing that to see if it helps.

danfolkes
  • 404
  • 4
  • 12
0

This is happening because the memory is full, you have two options

  1. Increase swap memory (I used these instructions)
  2. Build single core (make -j1) as using multi core builds for both python2 and python3 in parallel requiring more memory.