Opencv_contrib: Compile Error with contrib modules

Created on 30 Oct 2017  路  7Comments  路  Source: opencv/opencv_contrib

System information (version)
  • OpenCV => 3.3.1
  • Operating System / Platform => Ubuntu 16.04/64-Bit
  • Compiler => CMAKE
Detailed description


Hi,

I am trying to compile opencv with extra modules. I installed Tesseract version 4.00alpha with leptonica 1.74.4. After successfull execution of CMAKE, I typed make -j5 as instructed in the installation step. However "make" stopped at the following lines:

[ 80%] Building CXX object modules/text/CMakeFiles/opencv_text.dir/src/ocr_holistic.cpp.o
[ 81%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/ptsetreg.cpp.o
[ 81%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_perf_line_descriptor.dir/perf/perf_matching.cpp.o
[ 81%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_perf_line_descriptor.dir/perf/perf_detection.cpp.o
[ 81%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_perf_line_descriptor.dir/perf/perf_main.cpp.o
Scanning dependencies of target opencv_test_line_descriptor
make[2]: *** No rule to make target '/home/elgitaro/local/lib', needed by 'lib/libopencv_text.so.3.3.1'.  Stop.
make[2]: *** Waiting for unfinished jobs....
[ 81%] Building CXX object modules/text/CMakeFiles/opencv_text.dir/src/ocr_tesseract.cpp.o
[ 82%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_test_line_descriptor.dir/test/test_descriptors_regression.cpp.o
CMakeFiles/Makefile2:10867: recipe for target 'modules/text/CMakeFiles/opencv_text.dir/all' failed
make[1]: *** [modules/text/CMakeFiles/opencv_text.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 82%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_test_line_descriptor.dir/test/test_matcher_regression.cpp.o
[ 82%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_test_line_descriptor.dir/test/test_main.cpp.o
[ 82%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/stereosgbm.cpp.o
[ 82%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/calibration.cpp.o
[ 82%] Building CXX object modules/line_descriptor/CMakeFiles/opencv_test_line_descriptor.dir/test/test_detector_regression.cpp.o
[ 82%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/p3p.cpp.o
[ 83%] Linking CXX executable ../../bin/opencv_perf_line_descriptor
[ 83%] Built target opencv_perf_line_descriptor
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/circlesgrid.cpp.o
[ 83%] Linking CXX executable ../../bin/opencv_test_line_descriptor
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/compat_stereo.cpp.o
[ 83%] Built target opencv_test_line_descriptor
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/checkchessboard.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/five-point.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/dls.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/calibinit.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/ap3p.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/stereobm.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/epnp.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/main.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/fundam.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/posit.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/solvepnp.cpp.o
[ 83%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/opencl_kernels_calib3d.cpp.o
[ 83%] Linking CXX shared library ../../lib/libopencv_calib3d.so
[ 83%] Built target opencv_calib3d
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2

I am getting error at:

make[2]: *** No rule to make target '/home/elgitaro/local/lib', needed by 'lib/libopencv_text.so.3.3.1'. Stop.

Would you please let me know why I am getting this error?

Thank you in advance.

Steps to reproduce
bioinspired invalid

Most helpful comment

There are no special flags to do this. So try to remove cnn_3dobj and sfm folders from opencv_contrib/modules.

All 7 comments

No rule to make target '/home/elgitaro/local/lib'

Looks like CMake step configures invalid setup.
Try again from clean build directory to have reproducible results.

@alalek I ran the script for building a framework for iOS python opencv-master/platforms/ios/build_framework.py --contrib opencv_contrib-master/ ios-contrib
But I got the issue below despite I'm using MacOS 10.12.6 could you can help

-- Found installed version of gflags: /usr/local/lib/cmake/gflags
-- Detected gflags version: 2.2.1
CMake Error at /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/cmTC_830b0Targets.cmake:16 (add_library):
  Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being
  set.  This could be because you are using a Mac OS X version less than 10.5
  or because CMake's platform configuration is corrupt.
Call Stack (most recent call first):
  /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/CMakeLists.txt:13 (include)


CMake Error at /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/cmTC_830b0Targets.cmake:16 (add_library):
  Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being
  set.  This could be because you are using a Mac OS X version less than 10.5
  or because CMake's platform configuration is corrupt.
Call Stack (most recent call first):
  /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/CMakeLists.txt:13 (include)


CMake Error at /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/cmTC_830b0Targets.cmake:16 (add_library):
  Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being
  set.  This could be because you are using a Mac OS X version less than 10.5
  or because CMake's platform configuration is corrupt.
Call Stack (most recent call first):
  /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/CMakeLists.txt:13 (include)


CMake Error at /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/cmTC_830b0Targets.cmake:16 (add_library):
  Attempting to use @rpath without CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG being
  set.  This could be because you are using a Mac OS X version less than 10.5
  or because CMake's platform configuration is corrupt.
Call Stack (most recent call first):
  /Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeTmp/CMakeLists.txt:13 (include)


CMake Error at /Users/ln160c/Documents/OpenCV/opencv_contrib-master/modules/sfm/CMakeLists.txt:16 (try_compile):
  Failed to generate test project build system.


-- Configuring incomplete, errors occurred!
See also "/Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeOutput.log".
See also "/Users/ln160c/Documents/OpenCV/ios-contrib/build/build-armv7-iphoneos/CMakeFiles/CMakeError.log".
============================================================
ERROR: Command '['cmake', '-GXcode', '-DAPPLE_FRAMEWORK=ON', '-DCMAKE_INSTALL_PREFIX=install', '-DCMAKE_BUILD_TYPE=Release', '-DIOS_ARCH=armv7', '-DCMAKE_TOOLCHAIN_FILE=/Users/ln160c/Documents/OpenCV/opencv-master/platforms/ios/cmake/Toolchains/Toolchain-iPhoneOS_Xcode.cmake', '-DENABLE_NEON=ON', '/Users/ln160c/Documents/OpenCV/opencv-master', '-DOPENCV_EXTRA_MODULES_PATH=/Users/ln160c/Documents/OpenCV/opencv_contrib-master/modules', '-DCMAKE_C_FLAGS=-fembed-bitcode', '-DCMAKE_CXX_FLAGS=-fembed-bitcode']' returned non-zero exit status 1
============================================================
Traceback (most recent call last):
  File "opencv-master/platforms/ios/build_framework.py", line 112, in build
    self._build(outdir)
  File "opencv-master/platforms/ios/build_framework.py", line 104, in _build
    self.buildOne(t[0], t[1], mainBD, cmake_flags)
  File "opencv-master/platforms/ios/build_framework.py", line 186, in buildOne
    execute(cmakecmd, cwd = builddir)
  File "opencv-master/platforms/ios/build_framework.py", line 36, in execute
    retcode = check_call(cmd, cwd = cwd)
  File "/Users/ln160c/anaconda/envs/opencv-ios/lib/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['cmake', '-GXcode', '-DAPPLE_FRAMEWORK=ON', '-DCMAKE_INSTALL_PREFIX=install', '-DCMAKE_BUILD_TYPE=Release', '-DIOS_ARCH=armv7', '-DCMAKE_TOOLCHAIN_FILE=/Users/ln160c/Documents/OpenCV/opencv-master/platforms/ios/cmake/Toolchains/Toolchain-iPhoneOS_Xcode.cmake', '-DENABLE_NEON=ON', '/Users/ln160c/Documents/OpenCV/opencv-master', '-DOPENCV_EXTRA_MODULES_PATH=/Users/ln160c/Documents/OpenCV/opencv_contrib-master/modules', '-DCMAKE_C_FLAGS=-fembed-bitcode', '-DCMAKE_CXX_FLAGS=-fembed-bitcode']' returned non-zero exit status 1
(opencv-ios) els-t90861m:OpenCV ln160c$ python opencv-master/platforms/ios/build_framework.py --contrib opencv_contrib-master/ ios-contrib

/usr/local/lib/cmake/gflags

These gflags / glog libraries are not applicable for iOS. Need to turn them off somehow.

@alalek could you show me how to turn it off

There are no special flags to do this. So try to remove cnn_3dobj and sfm folders from opencv_contrib/modules.

BTW, This thread is not related to original issue, so it is better to create new one.

Hi alalek,

I just built again from scratch and opencv installed just fine! Thank you!

Was this page helpful?
0 / 5 - 0 ratings