torrvision / Objectness

BING Objectness proposal estimator linux/mac/windows version implementation, runs at 1000 FPS. More in http://mmcheng.net/bing/ and also http://www.robots.ox.ac.uk/~szheng/DepthProposals.html
http://kylezheng.org/objectproposal/
BSD 3-Clause "New" or "Revised" License
190 stars 88 forks source link

Problem with installing on Mac #9

Open deeptigp opened 9 years ago

deeptigp commented 9 years ago

Hi bittnt,

Thanks so much for providing this code. I am trying to install this on Mac and I've been facing a number of issues.

  1. I installed opencv by >> brew install opencv
  2. I also have installed OPENMP from http://clang-omp.github.io/ and I am able to successfully run test applications (using gcc compiler).
  3. Then I create a build directory and first run

    cmake -D CMAKE_C_COMPILER=gcc-5 -D CMAKE_CXX_COMPILER=g++-5 ../Src/

  4. Step 3 generates a make file which when run, gives me the following error:

[ 34%] Building CXX object CMakeFiles/BING_linux.dir/LibLinear/linear.cpp.o [ 39%] Building CXX object CMakeFiles/BING_linux.dir/LibLinear/tron.cpp.o [ 43%] Building C object CMakeFiles/BING_linux.dir/LibLinear/blas/daxpy.c.o [ 47%] Building C object CMakeFiles/BING_linux.dir/LibLinear/blas/ddot.c.o [ 52%] Building C object CMakeFiles/BING_linux.dir/LibLinear/blas/dnrm2.c.o [ 56%] Building C object CMakeFiles/BING_linux.dir/LibLinear/blas/dscal.c.o [ 60%] Linking CXX executable BING_linux Undefined symbols for architecture x86_64: "cv::FileStorage::FileStorage(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)", referenced from: DataSetVOC::loadBBoxes(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >&, std::vector<int, std::allocator >&) in DataSetVOC.cpp.o DataSetVOC::cvt2OpenCVYml(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) in DataSetVOC.cpp.o "cv::format[abi:cxx11](char const*, ...)", referenced from: illutrateLoG() in main.cpp.o DataSetVOC::loadBox(cv::FileNode const&, std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >&, std::vector<int, std::allocator >&) in DataSetVOC.cpp.o DataSetVOC::loadBBoxes(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >&, std::vector<int, std::allocator >&) in DataSetVOC.cpp.o Objectness::setColorSpace(int) in Objectness.cpp.o Objectness::getObjBndBoxes(cv::Mat const&, ValStructVec<float, cv::Vec<int, 4> >&, int) in Objectness.cpp.o Objectness::illuTestReults(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > > const&) in Objectness.cpp.o Objectness::evaluatePerClassRecall(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > >&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int) in Objectness.cpp.o ... "cv::imread(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)", referenced from: Objectness::illuTestReults(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > > const&) in Objectness.cpp.o Objectness::generateTrianData() [clone ._omp_fn.0] in Objectness.cpp.o Objectness::trainStateII(int) [clone ._omp_fn.1] in Objectness.cpp.o Objectness::getObjBndBoxesForTests(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > >&, int) [clone ._omp_fn.2] in Objectness.cpp.o Objectness::getObjBndBoxesForTestsFast(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > >&, int) [clone ._omp_fn.6] in Objectness.cpp.o Objectness::getRandomBoxes(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > >&, int) [clone ._omp_fn.9] in Objectness.cpp.o "cv::imshow(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&)", referenced from: CmShow::HistBins(cv::Mat const&, cv::Mat const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool, cv::Mat const&) in CmShow.cpp.o CmShow::SaveShow(cv::Mat const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) in CmShow.cpp.o "cv::imwrite(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cv::_InputArray const&, std::vector<int, std::allocator > const&)", referenced from: CmShow::SaveShow(cv::Mat const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) in CmShow.cpp.o Objectness::illuTestReults(std::vector<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >, std::allocator<std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > > > > const&) in Objectness.cpp.o "cv::Exception::Exception(int, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)", referenced from: CmShow::HistBins(cv::Mat const&, cv::Mat const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool, cv::Mat const&) in CmShow.cpp.o FilterTIG::update(cv::Mat const&) in FilterTIG.cpp.o DataSetVOC::loadBox(cv::FileNode const&, std::vector<cv::Vec<int, 4>, std::allocator<cv::Vec<int, 4> > >&, std::vector<int, std::allocator >&) in DataSetVOC.cpp.o Objectness::loadTrainedModel(std::__cxx11::basic_string<char, std::char_traits, std::allocator >) in Objectness.cpp.o Objectness::getObjBndBoxes(cv::Mat const&, ValStructVec<float, cv::Vec<int, 4> >&, int) in Objectness.cpp.o Objectness::generateTrianData() in Objectness.cpp.o Objectness::trainStateII(int) in Objectness.cpp.o ... ld: symbol(s) not found for architecture x86_64 collect2: error: ld returned 1 exit status make[2]: * [BING_linux] Error 1 make[1]: * [CMakeFiles/BING_linux.dir/all] Error 2 make: *\ [all] Error 2

I know that this is an issue due to OpenCV and I've exhausted all possibilities trying to fix this error. Do you have any idea about how to resolve this?

Will greatly appreciate your help!

deeptigp commented 9 years ago

Currently, my opencv's version is 2.4.12 and I am using OS X Yosemite (10.10.5)

fucusy commented 8 years ago

by the way, I also encountering the same problem.