HIRO-group / openface_ros

Repository that hosts software libraries and ROS packages for gaze and emotion detection, performed at the Human Interaction and Robotics Lab in University of Colorado at Boulder.
https://hiro-group.ronc.one/wiki/2019/05/08/Openface-ROS/
GNU Lesser General Public License v2.1
6 stars 4 forks source link

Linking error while compiling #8

Closed ymohamed08 closed 4 years ago

ymohamed08 commented 4 years ago

I have followed the instructions for installing openface on the wiki and it is working fine, however, when i try and compile the wrapper using catkin_make i get the following linking error

i am using ubuntu 18.04 ROS melodic g++ 8

[100%] Linking CXX executable /home/joe/catkin_ws/devel/lib/openface_ros/openface_realsense
//usr/local/lib/libLandmarkDetector.a(FaceDetectorMTCNN.cpp.o): In function `LandmarkDetector::CNN::CNN(LandmarkDetector::CNN const&)':
FaceDetectorMTCNN.cpp:(.text+0x3a68): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
FaceDetectorMTCNN.cpp:(.text+0x4093): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
FaceDetectorMTCNN.cpp:(.text+0x42b8): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
FaceDetectorMTCNN.cpp:(.text+0x4310): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
FaceDetectorMTCNN.cpp:(.text+0x4368): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorFunc.cpp.o):LandmarkDetectorFunc.cpp:(.text+0x21cc): more undefined references to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)' follow
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorFunc.cpp.o): In function `LandmarkDetector::DetectLandmarksInVideo(cv::Mat const&, LandmarkDetector::CLNF&, LandmarkDetector::FaceModelParameters&, cv::Mat&)':
LandmarkDetectorFunc.cpp:(.text+0xdddf): undefined reference to `cv::CascadeClassifier::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
LandmarkDetectorFunc.cpp:(.text+0xe414): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorFunc.cpp.o): In function `LandmarkDetector::DetectLandmarksInImage(cv::Mat const&, LandmarkDetector::CLNF&, LandmarkDetector::FaceModelParameters&, cv::Mat&)':
LandmarkDetectorFunc.cpp:(.text+0xee1f): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
LandmarkDetectorFunc.cpp:(.text+0xf0c7): undefined reference to `cv::CascadeClassifier::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorFunc.cpp.o): In function `cv::Mat_<float>::clone() const':
LandmarkDetectorFunc.cpp:(.text._ZNK2cv4Mat_IfE5cloneEv[_ZNK2cv4Mat_IfE5cloneEv]+0x2c4): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorFunc.cpp.o): In function `cv::Mat_<unsigned char>::operator=(cv::Mat const&)':
LandmarkDetectorFunc.cpp:(.text._ZN2cv4Mat_IhEaSERKNS_3MatE[_ZN2cv4Mat_IhEaSERKNS_3MatE]+0x1f4): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorModel.cpp.o): In function `LandmarkDetector::CLNF::GetVisibilities() const':
LandmarkDetectorModel.cpp:(.text+0xc74): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorModel.cpp.o): In function `LandmarkDetector::CLNF::GetShape(float, float, float, float) const':
LandmarkDetectorModel.cpp:(.text+0x1192): undefined reference to `cv::Mat::updateContinuityFlag()'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorModel.cpp.o): In function `LandmarkDetector::CLNF::NU_RLMS(cv::Vec<float, 6>&, cv::Mat_<float>&, std::vector<cv::Mat_<float>, std::allocator<cv::Mat_<float> > > const&, cv::Vec<float, 6> const&, cv::Mat_<float> const&, cv::Mat_<float> const&, cv::Matx<float, 2, 2> const&, cv::Matx<float, 2, 2> const&, int, int, bool, int, cv::Mat_<float>&, LandmarkDetector::FaceModelParameters const&, bool)':
LandmarkDetectorModel.cpp:(.text+0x3127): undefined reference to `cv::Mat::updateContinuityFlag()'
LandmarkDetectorModel.cpp:(.text+0x34cd): undefined reference to `cv::Mat::updateContinuityFlag()'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorModel.cpp.o): In function `LandmarkDetector::CLNF::CLNF(LandmarkDetector::CLNF const&)':
LandmarkDetectorModel.cpp:(.text+0x64e0): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
LandmarkDetectorModel.cpp:(.text+0x64f8): undefined reference to `cv::CascadeClassifier::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorModel.cpp.o): In function `LandmarkDetector::CLNF::operator=(LandmarkDetector::CLNF const&)':
LandmarkDetectorModel.cpp:(.text+0x8ce1): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
LandmarkDetectorModel.cpp:(.text+0x8cf3): undefined reference to `cv::CascadeClassifier::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorUtils.cpp.o): In function `LandmarkDetector::DetectFaces(std::vector<cv::Rect_<float>, std::allocator<cv::Rect_<float> > >&, cv::Mat_<unsigned char> const&, float, cv::Rect_<float>)':
LandmarkDetectorUtils.cpp:(.text+0x2fba): undefined reference to `cv::CascadeClassifier::CascadeClassifier(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorUtils.cpp.o): In function `LandmarkDetector::crossCorr_m(cv::Mat_<float> const&, cv::Mat_<double>&, cv::Mat_<float> const&, std::map<int, cv::Mat_<double>, std::less<int>, std::allocator<std::pair<int const, cv::Mat_<double> > > >&, cv::Mat_<float>&)':
LandmarkDetectorUtils.cpp:(.text+0x4693): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(LandmarkDetectorUtils.cpp.o): In function `LandmarkDetector::DetectFacesHOG(std::vector<cv::Rect_<float>, std::allocator<cv::Rect_<float> > >&, cv::Mat_<unsigned char> const&, dlib::object_detector<dlib::scan_fhog_pyramid<dlib::pyramid_down<6u>, dlib::default_fhog_feature_extractor> >&, std::vector<float, std::allocator<float> >&, float, cv::Rect_<float>)':
LandmarkDetectorUtils.cpp:(.text+0x5c35): undefined reference to `cvIplImage(cv::Mat const&)'
//usr/local/lib/libLandmarkDetector.a(Patch_experts.cpp.o): In function `LandmarkDetector::Patch_experts::Patch_experts(LandmarkDetector::Patch_experts const&)':
Patch_experts.cpp:(.text+0x79ee): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
Patch_experts.cpp:(.text+0x7a36): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(Patch_experts.cpp.o): In function `cv::Mat::Mat<float, 2, 2>(cv::Matx<float, 2, 2> const&, bool)':
Patch_experts.cpp:(.text._ZN2cv3MatC2IfLi2ELi2EEERKNS_4MatxIT_XT0_EXT1_EEEb[_ZN2cv3MatC5IfLi2ELi2EEERKNS_4MatxIT_XT0_EXT1_EEEb]+0xf9): undefined reference to `cv::Mat::updateContinuityFlag()'
//usr/local/lib/libLandmarkDetector.a(PAW.cpp.o): In function `LandmarkDetector::PAW::Warp(cv::Mat const&, cv::Mat&, cv::Mat_<float> const&)':
PAW.cpp:(.text+0x1c0b): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(PAW.cpp.o): In function `LandmarkDetector::PAW::PAW(LandmarkDetector::PAW const&)':
PAW.cpp:(.text+0x2830): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
PAW.cpp:(.text+0x2bc7): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
PAW.cpp:(.text+0x2f68): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
PAW.cpp:(.text+0x330f): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(PAW.cpp.o):PAW.cpp:(.text+0x36a0): more undefined references to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)' follow
//usr/local/lib/libLandmarkDetector.a(PDM.cpp.o): In function `LandmarkDetector::PDM::CalcParams(cv::Vec<float, 6>&, cv::Rect_<float> const&, cv::Mat_<float> const&, cv::Vec<float, 3>)':
PDM.cpp:(.text+0x614e): undefined reference to `cv::Mat::updateContinuityFlag()'
//usr/local/lib/libLandmarkDetector.a(PDM.cpp.o): In function `LandmarkDetector::PDM::PDM(LandmarkDetector::PDM const&)':
PDM.cpp:(.text+0x7440): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
PDM.cpp:(.text+0x78e8): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
PDM.cpp:(.text+0x7db8): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(PDM.cpp.o): In function `LandmarkDetector::PDM::ComputeJacobian(cv::Mat_<float> const&, cv::Vec<float, 6> const&, cv::Mat_<float>&, cv::Mat_<float>, cv::Mat_<float>&)':
PDM.cpp:(.text+0xb8df): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(PDM.cpp.o): In function `LandmarkDetector::PDM::CalcParams(cv::Vec<float, 6>&, cv::Mat_<float>&, cv::Mat_<float> const&, cv::Vec<float, 3>)':
PDM.cpp:(.text+0xcd62): undefined reference to `cv::Mat::updateContinuityFlag()'
PDM.cpp:(.text+0xe135): undefined reference to `cv::Mat::updateContinuityFlag()'
PDM.cpp:(.text+0xf4ab): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(SVR_patch_expert.cpp.o): In function `LandmarkDetector::SVR_patch_expert::SVR_patch_expert(LandmarkDetector::SVR_patch_expert const&)':
SVR_patch_expert.cpp:(.text+0x5600): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
SVR_patch_expert.cpp:(.text+0x5f29): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(SVR_patch_expert.cpp.o): In function `cv::Mat_<double>::operator=(cv::Mat const&)':
SVR_patch_expert.cpp:(.text._ZN2cv4Mat_IdEaSERKNS_3MatE[_ZN2cv4Mat_IdEaSERKNS_3MatE]+0x1fe): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(CCNF_patch_expert.cpp.o): In function `LandmarkDetector::CCNF_patch_expert::ResponseOpenBlas(cv::Mat_<float> const&, cv::Mat_<float>&, cv::Mat_<float>&)':
CCNF_patch_expert.cpp:(.text+0x45a5): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libLandmarkDetector.a(CCNF_patch_expert.cpp.o):CCNF_patch_expert.cpp:(.text+0x5b02): more undefined references to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)' follow
//usr/local/lib/libFaceAnalyser.a(Face_utils.cpp.o): In function `Utilities::AlignShapesWithScale(cv::Mat_<float>&, cv::Mat_<float>)':
Face_utils.cpp:(.text+0x2f4a): undefined reference to `cv::Mat::updateContinuityFlag()'
Face_utils.cpp:(.text+0x31f6): undefined reference to `cv::Mat::updateContinuityFlag()'
//usr/local/lib/libFaceAnalyser.a(Face_utils.cpp.o): In function `FaceAnalysis::AlignFaceMask(cv::Mat&, cv::Mat const&, cv::Mat_<float> const&, cv::Vec<float, 6>, LandmarkDetector::PDM const&, cv::Mat_<int> const&, bool, double, int, int)':
Face_utils.cpp:(.text+0x4e50): undefined reference to `cv::Mat::updateContinuityFlag()'
//usr/local/lib/libFaceAnalyser.a(Face_utils.cpp.o): In function `FaceAnalysis::AlignFace(cv::Mat&, cv::Mat const&, cv::Mat_<float> const&, cv::Vec<float, 6>, LandmarkDetector::PDM const&, bool, double, int, int)':
Face_utils.cpp:(.text+0x5ed3): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libFaceAnalyser.a(Face_utils.cpp.o): In function `FaceAnalysis::Extract_FHOG_descriptor(cv::Mat_<double>&, cv::Mat const&, int&, int&, int)':
Face_utils.cpp:(.text+0x6866): undefined reference to `cvIplImage(cv::Mat const&)'
Face_utils.cpp:(.text+0x69af): undefined reference to `cvIplImage(cv::Mat const&)'
//usr/local/lib/libGazeAnalyser.a(GazeEstimation.cpp.o): In function `GazeAnalysis::GetPupilPosition(cv::Mat_<float>)':
GazeEstimation.cpp:(.text+0x721): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libGazeAnalyser.a(GazeEstimation.cpp.o): In function `GazeAnalysis::EstimateGaze(LandmarkDetector::CLNF const&, cv::Point3_<float>&, float, float, float, float, bool)':
GazeEstimation.cpp:(.text+0x18d4): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
GazeEstimation.cpp:(.text+0x2258): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
GazeEstimation.cpp:(.text+0x2546): undefined reference to `cv::Mat::updateContinuityFlag()'
GazeEstimation.cpp:(.text+0x3176): undefined reference to `cv::Mat::updateContinuityFlag()'
GazeEstimation.cpp:(.text+0x46aa): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libUtilities.a(Visualizer.cpp.o): In function `Utilities::Visualizer::ShowObservation()':
Visualizer.cpp:(.text+0x2b50): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
Visualizer.cpp:(.text+0x2bca): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
Visualizer.cpp:(.text+0x2c40): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
Visualizer.cpp:(.text+0x2cc1): undefined reference to `cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)'
//usr/local/lib/libUtilities.a(Visualizer.cpp.o): In function `Utilities::Visualizer::SetFps(double)':
Visualizer.cpp:(.text+0x32da): undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
//usr/local/lib/libUtilities.a(Visualizer.cpp.o): In function `Utilities::Visualizer::SetObservationGaze(cv::Point3_<float> const&, cv::Point3_<float> const&, std::vector<cv::Point_<float>, std::allocator<cv::Point_<float> > > const&, std::vector<cv::Point3_<float>, std::allocator<cv::Point3_<float> > > const&, double)':
Visualizer.cpp:(.text+0x5fd1): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
Visualizer.cpp:(.text+0x600c): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
Visualizer.cpp:(.text+0x604e): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libUtilities.a(Visualizer.cpp.o): In function `Utilities::Visualizer::SetObservationActionUnits(std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double> > > const&)':
Visualizer.cpp:(.text+0x8616): undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
Visualizer.cpp:(.text+0x87b1): undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
Visualizer.cpp:(.text+0x88a3): undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
Visualizer.cpp:(.text+0x8b3c): undefined reference to `cv::putText(cv::_InputOutputArray const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::Point_<int>, int, double, cv::Scalar_<double>, int, int, bool)'
//usr/local/lib/libUtilities.a(VisualizationUtils.cpp.o): In function `Utilities::Visualise_FHOG(cv::Mat_<double> const&, int, int, cv::Mat&)':
VisualizationUtils.cpp:(.text+0xe8c): undefined reference to `cv::Mat::updateContinuityFlag()'
VisualizationUtils.cpp:(.text+0xf16): undefined reference to `cv::error(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const*, char const*, int)'
//usr/local/lib/libUtilities.a(VisualizationUtils.cpp.o): In function `Utilities::CalculateBox(cv::Vec<float, 6>, float, float, float, float)':
VisualizationUtils.cpp:(.text+0x12af): undefined reference to `cv::Mat::updateContinuityFlag()'
VisualizationUtils.cpp:(.text+0x1a81): undefined reference to `cv::Mat::updateContinuityFlag()'
/home/joe/catkin_ws/devel/lib/libcv_bridge.so: undefined reference to `boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match()'
/home/joe/catkin_ws/devel/lib/libcv_bridge.so: undefined reference to `boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
collect2: error: ld returned 1 exit status
openface_ros/CMakeFiles/openface_realsense.dir/build.make:208: recipe for target '/home/joe/catkin_ws/devel/lib/openface_ros/openface_realsense' failed
make[2]: *** [/home/joe/catkin_ws/devel/lib/openface_ros/openface_realsense] Error 1
CMakeFiles/Makefile2:2654: recipe for target 'openface_ros/CMakeFiles/openface_realsense.dir/all' failed
make[1]: *** [openface_ros/CMakeFiles/openface_realsense.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
Sayter99 commented 4 years ago

Undefined reference means it cannot find specific functions in so files. Check opencv version and boost version. I followed this file instead of wiki. It works at my end.

ymohamed08 commented 4 years ago

If i change the version in the CMakeLists.txt into find_package(OpenCV 4.1 REQUIRED) the cv error goes away but for boost, i have version 1.65.1 and it still gives me the same error

/home/joe/catkin_ws/devel/lib/libcv_bridge.so: undefined reference to `boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match()'
/home/joe/catkin_ws/devel/lib/libcv_bridge.so: undefined reference to `boost::re_detail::perl_matcher<char const*, std::allocator<boost::sub_match<char const*> >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
collect2: error: ld returned 1 exit status
openface_ros/CMakeFiles/openface_realsense.dir/build.make:211: recipe for target '/home/joe/catkin_ws/devel/lib/openface_ros/openface_realsense' failed
make[2]: *** [/home/joe/catkin_ws/devel/lib/openface_ros/openface_realsense] Error 1
CMakeFiles/Makefile2:2654: recipe for target 'openface_ros/CMakeFiles/openface_realsense.dir/all' failed
make[1]: *** [openface_ros/CMakeFiles/openface_realsense.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j8 -l8" failed
Sayter99 commented 4 years ago

it seems the ${Boost_LIBARAY} doesn't contain some functions. I didn't encounter this kind of errors before but I found some related threads might be worth trying

  1. https://stackoverflow.com/questions/40225571/regex-search-hpp56-undefined-reference-to-boostre-detail-106100perl-match
  2. https://github.com/facebook/folly/issues/614
  3. http://www.cplusplus.com/forum/general/20194/
HAMMADIPRO commented 4 years ago

Hi @youssef266 Have you found any solution ? I have the same error ! melodic-ubuntu18 04 error

Sayter99 commented 4 years ago

These two are different? I think yours is because you don't have libboost.

HAMMADIPRO commented 4 years ago

Thank you ..my problem of linking is amounts to order of installation of opencv and openface ...so you can follow this file to fix this error