weiliu89 / caffe

Caffe: a fast open framework for deep learning.
http://caffe.berkeleyvision.org/
Other
4.77k stars 1.67k forks source link

error while compiling for Movidius NCSDK 1 #968

Open patvdleer opened 5 years ago

patvdleer commented 5 years ago

Steps to reproduce

git clone http://github.com/Movidius/ncsdk
cd ncsdk
make install

Your system configuration

Operating system: Ubuntu 18.04.1

-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   python-py36
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- 
-- ******************* Caffe Configuration Summary *******************
-- General:
--   Version           :   1.0.0-rc3
--   Git               :   ssdv1.0-dirty
--   System            :   Linux
--   C++ compiler      :   /usr/bin/c++
--   Release CXX flags :   -O3 -DNDEBUG -fPIC -Wall -Wno-sign-compare -Wno-uninitialized
--   Debug CXX flags   :   -g -fPIC -Wall -Wno-sign-compare -Wno-uninitialized
--   Build type        :   Release
-- 
--   BUILD_SHARED_LIBS :   ON
--   BUILD_python      :   ON
--   BUILD_matlab      :   OFF
--   BUILD_docs        :   ON
--   CPU_ONLY          :   ON
--   USE_OPENCV        :   ON
--   USE_LEVELDB       :   ON
--   USE_LMDB          :   ON
--   ALLOW_LMDB_NOLOCK :   OFF
-- 
-- Dependencies:
--   BLAS              :   Yes (Atlas)
--   Boost             :   Yes (ver. 1.65)
--   glog              :   Yes
--   gflags            :   Yes
--   protobuf          :   Yes (ver. 3.0.0)
--   lmdb              :   Yes (ver. 0.9.21)
--   LevelDB           :   Yes (ver. 1.20)
--   Snappy            :   Yes (ver. ..)
--   OpenCV            :   Yes (ver. 4.0.1)
--   CUDA              :   No
-- 
-- Python:
--   Interpreter       :   /usr/bin/python3 (ver. 3.6.7)
--   Libraries         :   /usr/lib/x86_64-linux-gnu/libpython3.6m.so (ver 3.6.7)
--   NumPy             :   /usr/local/lib/python3.6/dist-packages/numpy/core/include (ver 1.13.3)
-- 
-- Documentaion:
--   Doxygen           :   No
--   config_file       :   
-- 
-- Install:
--   Install path      :   /opt/movidius/ssd-caffe/build/install
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/movidius/ssd-caffe/build
make[1]: Entering directory '/opt/movidius/ssd-caffe/build'
make[2]: Entering directory '/opt/movidius/ssd-caffe/build'
make[3]: Entering directory '/opt/movidius/ssd-caffe/build'
make[3]: Leaving directory '/opt/movidius/ssd-caffe/build'
[  1%] Built target proto
make[3]: Entering directory '/opt/movidius/ssd-caffe/build'
Scanning dependencies of target caffe
make[3]: Leaving directory '/opt/movidius/ssd-caffe/build'
make[3]: Entering directory '/opt/movidius/ssd-caffe/build'
[  1%] Building CXX object src/caffe/CMakeFiles/caffe.dir/data_transformer.cpp.o
[  2%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/annotated_data_layer.cpp.o
[  2%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/data_layer.cpp.o
[  4%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/detection_evaluate_layer.cpp.o
[  4%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/detection_output_layer.cpp.o
[  4%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/image_data_layer.cpp.o
[  5%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/memory_data_layer.cpp.o
[  5%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/multibox_loss_layer.cpp.o
[  5%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/video_data_layer.cpp.o
/opt/movidius/ssd-caffe/src/caffe/layers/video_data_layer.cpp: In member function ‘virtual void caffe::VideoDataLayer<Dtype>::DataLayerSetUp(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&)’:
/opt/movidius/ssd-caffe/src/caffe/layers/video_data_layer.cpp:55:30: error: ‘CV_CAP_PROP_FRAME_COUNT’ was not declared in this scope
     total_frames_ = cap_.get(CV_CAP_PROP_FRAME_COUNT);
                              ^~~~~~~~~~~~~~~~~~~~~~~
/opt/movidius/ssd-caffe/src/caffe/layers/video_data_layer.cpp:60:14: error: ‘CV_CAP_PROP_POS_FRAMES’ was not declared in this scope
     cap_.set(CV_CAP_PROP_POS_FRAMES, 0);
              ^~~~~~~~~~~~~~~~~~~~~~
src/caffe/CMakeFiles/caffe.dir/build.make:2102: recipe for target 'src/caffe/CMakeFiles/caffe.dir/layers/video_data_layer.cpp.o' failed
make[3]: *** [src/caffe/CMakeFiles/caffe.dir/layers/video_data_layer.cpp.o] Error 1
make[3]: Leaving directory '/opt/movidius/ssd-caffe/build'
CMakeFiles/Makefile2:235: recipe for target 'src/caffe/CMakeFiles/caffe.dir/all' failed
make[2]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make[2]: Leaving directory '/opt/movidius/ssd-caffe/build'
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/opt/movidius/ssd-caffe/build'
Installing caffe...
make[1]: Entering directory '/opt/movidius/ssd-caffe/build'
make[2]: Entering directory '/opt/movidius/ssd-caffe/build'
make[3]: Entering directory '/opt/movidius/ssd-caffe/build'
make[3]: Leaving directory '/opt/movidius/ssd-caffe/build'
[  1%] Built target proto
make[3]: Entering directory '/opt/movidius/ssd-caffe/build'
make[3]: Leaving directory '/opt/movidius/ssd-caffe/build'
make[3]: Entering directory '/opt/movidius/ssd-caffe/build'
[  1%] Building CXX object src/caffe/CMakeFiles/caffe.dir/layers/video_data_layer.cpp.o
/opt/movidius/ssd-caffe/src/caffe/layers/video_data_layer.cpp: In member function ‘virtual void caffe::VideoDataLayer<Dtype>::DataLayerSetUp(const std::vector<caffe::Blob<Dtype>*>&, const std::vector<caffe::Blob<Dtype>*>&)’:
/opt/movidius/ssd-caffe/src/caffe/layers/video_data_layer.cpp:55:30: error: ‘CV_CAP_PROP_FRAME_COUNT’ was not declared in this scope
     total_frames_ = cap_.get(CV_CAP_PROP_FRAME_COUNT);
                              ^~~~~~~~~~~~~~~~~~~~~~~
/opt/movidius/ssd-caffe/src/caffe/layers/video_data_layer.cpp:60:14: error: ‘CV_CAP_PROP_POS_FRAMES’ was not declared in this scope
     cap_.set(CV_CAP_PROP_POS_FRAMES, 0);
              ^~~~~~~~~~~~~~~~~~~~~~
src/caffe/CMakeFiles/caffe.dir/build.make:2102: recipe for target 'src/caffe/CMakeFiles/caffe.dir/layers/video_data_layer.cpp.o' failed
make[3]: *** [src/caffe/CMakeFiles/caffe.dir/layers/video_data_layer.cpp.o] Error 1
make[3]: Leaving directory '/opt/movidius/ssd-caffe/build'
CMakeFiles/Makefile2:235: recipe for target 'src/caffe/CMakeFiles/caffe.dir/all' failed
make[2]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make[2]: Leaving directory '/opt/movidius/ssd-caffe/build'
Makefile:129: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/opt/movidius/ssd-caffe/build'
adithya-p commented 5 years ago

@patvdleer The issue is with the version of OpenCV you are using. Uninstall the 4.x version and install the 3.x version of OpenCV and recompile. The code appears to be written in the 3.x version of OpenCV. If you insist on compiling it with 4.x version, You have to make changes to the code by replacing 3.x with 4.x equivalent code.

Please refer to OpenCV 4.0.1 docs for more info.