jhu-lcsr / handeye_calib_camodocal

Easy to use and accurate hand eye calibration which has been working reliably for years (2016-present) with kinect, kinectv2, rgbd cameras, optical trackers, and several robots including the ur5 and kuka iiwa.
BSD 2-Clause "Simplified" License
543 stars 178 forks source link

undefined reference to `cv::Mat::updateContinuityFlag()' error #22

Closed blingshock closed 4 years ago

blingshock commented 5 years ago

Hi, I am getting this error when I run "catkin_make_isolated." I'm not that good with Linux, would anyone be able to help me?

Thanks so much!

==> Processing catkin package: 'handeye_calib_camodocal' ==> Building with env: '/home/blingshock/me8287_ws/devel_isolated/ceres-solver/env.sh' Makefile exists, skipping explicit cmake invocation... ==> make cmake_check_build_system in '/home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal' -- Using CATKIN_DEVEL_PREFIX: /home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal -- Using CMAKE_PREFIX_PATH: /home/blingshock/me8287_ws/devel_isolated/ceres-solver;/opt/ros/kinetic -- This workspace overlays: /opt/ros/kinetic -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal/test_results -- Found gmock sources under '/usr/src/gmock': gmock will be built -- Found gtest sources under '/usr/src/gmock': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.7.14 -- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy -- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available. -- Found installed version of gflags: /usr/local/lib/cmake/gflags -- Detected gflags version: 2.2.0 Gflags found = TRUE Glog found = TRUE -- Found installed version of Eigen: /usr/lib/cmake/eigen3 -- Found required Ceres dependency: Eigen version 3.2.92 in /usr/include/eigen3 -- Found installed version of glog: /usr/local/lib/cmake/glog -- Detected glog version: 0.3.5 -- Found required Ceres dependency: glog -- Found installed version of gflags: /usr/local/lib/cmake/gflags -- Detected gflags version: 2.2.0 -- Found required Ceres dependency: gflags -- Found Ceres version: 1.14.0 installed in: /home/blingshock/me8287_ws/devel_isolated/ceres-solver with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SuiteSparse, CXSparse, SchurSpecializations, OpenMP, Multithreading] -- OpenCV version: 3.3.1 -- defined HAVE_OPENCV3 GLOG = glog::glog
-- Configuring done -- Generating done -- Build files have been written to: /home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal ==> make -j4 -l4 in '/home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal' [ 33%] Linking CXX executable /home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal/lib/handeye_calib_camodocal/handeye_calib_camodocal CMakeFiles/handeye_calib_camodocal.dir/src/handeye_calibration.cpp.o: In function cv::Mat::Mat(int, int, int, void*, unsigned long)': handeye_calibration.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x2a1): undefined reference tocv::Mat::updateContinuityFlag()' collect2: error: ld returned 1 exit status CMakeFiles/handeye_calib_camodocal.dir/build.make:224: recipe for target '/home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal/lib/handeye_calib_camodocal/handeye_calib_camodocal' failed make[2]: [/home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal/lib/handeye_calib_camodocal/handeye_calib_camodocal] Error 1 CMakeFiles/Makefile2:1091: recipe for target 'CMakeFiles/handeye_calib_camodocal.dir/all' failed make[1]: [CMakeFiles/handeye_calib_camodocal.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 <== Failed to process package 'handeye_calib_camodocal': Command '['/home/blingshock/me8287_ws/devel_isolated/ceres-solver/env.sh', 'make', '-j4', '-l4']' returned non-zero exit status 2

Reproduce this error by running: ==> cd /home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal && /home/blingshock/me8287_ws/devel_isolated/ceres-solver/env.sh make -j4 -l4

Command failed, exiting.

kzhao94 commented 5 years ago

Hi, I am getting this error when I run "catkin_make_isolated." I'm not that good with Linux, would anyone be able to help me?

Thanks so much!

==> Processing catkin package: 'handeye_calib_camodocal' ==> Building with env: '/home/blingshock/me8287_ws/devel_isolated/ceres-solver/env.sh' Makefile exists, skipping explicit cmake invocation... ==> make cmake_check_build_system in '/home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal' -- Using CATKIN_DEVEL_PREFIX: /home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal -- Using CMAKE_PREFIX_PATH: /home/blingshock/me8287_ws/devel_isolated/ceres-solver;/opt/ros/kinetic -- This workspace overlays: /opt/ros/kinetic -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal/test_results -- Found gmock sources under '/usr/src/gmock': gmock will be built -- Found gtest sources under '/usr/src/gmock': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.7.14 -- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy -- No preference for use of exported gflags CMake configuration set, and no hints for include/library directories provided. Defaulting to preferring an installed/exported gflags CMake configuration if available. -- Found installed version of gflags: /usr/local/lib/cmake/gflags -- Detected gflags version: 2.2.0 Gflags found = TRUE Glog found = TRUE -- Found installed version of Eigen: /usr/lib/cmake/eigen3 -- Found required Ceres dependency: Eigen version 3.2.92 in /usr/include/eigen3 -- Found installed version of glog: /usr/local/lib/cmake/glog -- Detected glog version: 0.3.5 -- Found required Ceres dependency: glog -- Found installed version of gflags: /usr/local/lib/cmake/gflags -- Detected gflags version: 2.2.0 -- Found required Ceres dependency: gflags -- Found Ceres version: 1.14.0 installed in: /home/blingshock/me8287_ws/devel_isolated/ceres-solver with components: [EigenSparse, SparseLinearAlgebraLibrary, LAPACK, SuiteSparse, CXSparse, SchurSpecializations, OpenMP, Multithreading] -- OpenCV version: 3.3.1 -- defined HAVE_OPENCV3 GLOG = glog::glog -- Configuring done -- Generating done -- Build files have been written to: /home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal ==> make -j4 -l4 in '/home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal' [ 33%] Linking CXX executable /home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal/lib/handeye_calib_camodocal/handeye_calib_camodocal CMakeFiles/handeye_calib_camodocal.dir/src/handeye_calibration.cpp.o: In function cv::Mat::Mat(int, int, int, void*, unsigned long)': handeye_calibration.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x2a1): undefined reference tocv::Mat::updateContinuityFlag()' collect2: error: ld returned 1 exit status CMakeFiles/handeye_calib_camodocal.dir/build.make:224: recipe for target '/home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal/lib/handeye_calib_camodocal/handeye_calib_camodocal' failed make[2]: [/home/blingshock/me8287_ws/devel_isolated/handeye_calib_camodocal/lib/handeye_calib_camodocal/handeye_calib_camodocal] Error 1 CMakeFiles/Makefile2:1091: recipe for target 'CMakeFiles/handeye_calib_camodocal.dir/all' failed make[1]: [CMakeFiles/handeye_calib_camodocal.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 <== Failed to process package 'handeye_calib_camodocal': Command '['/home/blingshock/me8287_ws/devel_isolated/ceres-solver/env.sh', 'make', '-j4', '-l4']' returned non-zero exit status 2

Reproduce this error by running: ==> cd /home/blingshock/me8287_ws/build_isolated/handeye_calib_camodocal && /home/blingshock/me8287_ws/devel_isolated/ceres-solver/env.sh make -j4 -l4

Command failed, exiting.

HI, I am getting same error,as shown below:

CMakeFiles/handeye_calib_camodocal.dir/src/handeye_calibration.cpp.o: In function cv::Mat::Mat(int, int, int, void*, unsigned long)': handeye_calibration.cpp:(.text._ZN2cv3MatC2EiiiPvm[_ZN2cv3MatC5EiiiPvm]+0x2a1): undefined reference to cv::Mat::updateContinuityFlag()'

and the opencv version that catkin_make found:

--Found OpenCV: /opt/ros/kinetic (found version "3.3.1") 
-- OpenCV version: 3.3.1

I guess this error is caused by a version mismatch.

so I modify the CMakeLists.txt file: change find_package(OpenCV REQUIRED) to find_package(OpenCV 3.4.5 REQUIRED). (3.4.5 is the version of OpenCV I installed.)

then the catkin_make error solved !

ahundt commented 4 years ago

this looks to be resolved, thanks @zhkai929 !

Horizonzhou commented 4 years ago

it works for me.thx

flydragon2018 commented 3 years ago

SET(OpenCV_DIR )