jhu-lcsr/handeye_calib_camodocal

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

blingshock opened this issue · 4 comments

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 to cv::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 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 to cv::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 !

this looks to be resolved, thanks @zhkai929 !

it works for me.thx

SET(OpenCV_DIR <opencv_so.dir>)