Caffe build fail: Makefile:591: recipe for target '.build_release/src/caffe/util/io.o' failed

115 views
Skip to first unread message

Евгений Максимычев

unread,
Nov 14, 2018, 9:09:32 AM11/14/18
to Caffe Users
Hello I' ve got issue on caffe installation. I did everything in accordance to the instruction https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-Installation-Guide (for CPU version)
On command make all I've got the following output:

CXX src/caffe/util/io.cpp
In file included from /usr/local/include/opencv2/core.hpp:52:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/cvdef.h:421:4: error: #error "OpenCV 4.x+ requires enabled C++11 support"
 #  error "OpenCV 4.x+ requires enabled C++11 support"
    ^
In file included from /usr/include/c++/5/array:35:0,
                 from /usr/local/include/opencv2/core/cvdef.h:426,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \
  ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/cvstd.hpp:389:12: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Ptr(Ptr&& o);
            ^
/usr/local/include/opencv2/core/cvstd.hpp:389:16: error: invalid constructor; you probably meant ‘cv::Ptr<T> (const cv::Ptr<T>&)’
     Ptr(Ptr&& o);
                ^
/usr/local/include/opencv2/core/cvstd.hpp:390:25: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Ptr& operator = (Ptr&& o);
                         ^
In file included from /usr/local/include/opencv2/core/cvstd.hpp:1033:0,
                 from /usr/local/include/opencv2/core/base.hpp:58,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/ptr.inl.hpp:256:16: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Ptr<T>::Ptr(Ptr&& o) : owner(o.owner), stored(o.stored)
                ^
/usr/local/include/opencv2/core/ptr.inl.hpp:256:1: error: prototype for ‘cv::Ptr<T>::Ptr(cv::Ptr<T>)’ does not match any in class ‘cv::Ptr<T>’
 Ptr<T>::Ptr(Ptr&& o) : owner(o.owner), stored(o.stored)
 ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/cvstd.hpp:319:5: error: candidates are: template<class T> template<class Y> cv::Ptr<T>::Ptr(const cv::Ptr<Y>&, T*)
     Ptr(const Ptr<Y>& o, T* p);
     ^
/usr/local/include/opencv2/core/cvstd.hpp:312:5: error:                 template<class T> template<class Y> cv::Ptr<T>::Ptr(const cv::Ptr<Y>&)
     Ptr(const Ptr<Y>& o);
     ^
In file included from /usr/local/include/opencv2/core/cvstd.hpp:1033:0,
                 from /usr/local/include/opencv2/core/base.hpp:58,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/ptr.inl.hpp:134:1: error:                 cv::Ptr<T>::Ptr(const cv::Ptr<T>&)
 Ptr<T>::Ptr(const Ptr& o) : owner(o.owner), stored(o.stored)
 ^
In file included from /usr/local/include/opencv2/core/base.hpp:58:0,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/cvstd.hpp:291:5: error:                 template<class T> template<class Y, class D> cv::Ptr<T>::Ptr(Y*, D)
     Ptr(Y* p, D d);
     ^
/usr/local/include/opencv2/core/cvstd.hpp:284:14: error:                 template<class T> template<class Y> cv::Ptr<T>::Ptr(Y*)
     explicit Ptr(Y* p);
              ^
In file included from /usr/local/include/opencv2/core/cvstd.hpp:1033:0,
                 from /usr/local/include/opencv2/core/base.hpp:58,
                 from /usr/local/include/opencv2/core.hpp:54,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/ptr.inl.hpp:112:1: error:                 cv::Ptr<T>::Ptr()
 Ptr<T>::Ptr() : owner(NULL), stored(NULL)
 ^
/usr/local/include/opencv2/core/ptr.inl.hpp:263:35: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Ptr<T>& Ptr<T>::operator = (Ptr<T>&& o)
                                   ^
/usr/local/include/opencv2/core/ptr.inl.hpp: In member function ‘cv::Ptr<T>& cv::Ptr<T>::operator=(cv::Ptr<T>)’:
/usr/local/include/opencv2/core/ptr.inl.hpp:265:18: error: ‘o’ was not declared in this scope
     if (this == &o)
                  ^
/usr/local/include/opencv2/core/ptr.inl.hpp:269:13: error: ‘o’ was not declared in this scope
     owner = o.owner;
             ^
In file included from /usr/local/include/opencv2/core.hpp:57:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/matx.hpp: At global scope:
/usr/local/include/opencv2/core/matx.hpp:142:31: error: expected ‘)’ before ‘<’ token
     Matx(std::initializer_list<_Tp>); //!< initialize from an initializer list
                               ^
In file included from /usr/local/include/opencv2/core.hpp:57:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/matx.hpp:360:30: error: expected ‘)’ before ‘<’ token
     Vec(std::initializer_list<_Tp>);
                              ^
/usr/local/include/opencv2/core/matx.hpp:663:28: error: ‘cv::Matx<_Tp, m, n>::Matx’ declared as an ‘inline’ variable
 Matx<_Tp, m, n>::Matx(std::initializer_list<_Tp> list)
                            ^
/usr/local/include/opencv2/core/matx.hpp:663:28: error: ‘int cv::Matx<_Tp, m, n>::Matx’ is not a static data member of ‘class cv::Matx<_Tp, m, n>’
/usr/local/include/opencv2/core/matx.hpp:663:28: error: template definition of non-template ‘int cv::Matx<_Tp, m, n>::Matx’
/usr/local/include/opencv2/core/matx.hpp:663:23: error: ‘initializer_list’ is not a member of ‘std’
 Matx<_Tp, m, n>::Matx(std::initializer_list<_Tp> list)
                       ^
/usr/local/include/opencv2/core/matx.hpp:663:48: error: expected primary-expression before ‘>’ token
 Matx<_Tp, m, n>::Matx(std::initializer_list<_Tp> list)
                                                ^
/usr/local/include/opencv2/core/matx.hpp:663:50: error: ‘list’ was not declared in this scope
 Matx<_Tp, m, n>::Matx(std::initializer_list<_Tp> list)
                                                  ^
/usr/local/include/opencv2/core/matx.hpp:1015:24: error: ‘cv::Vec<_Tp, cn>::Vec’ declared as an ‘inline’ variable
 Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
                        ^
/usr/local/include/opencv2/core/matx.hpp:1015:24: error: ‘int cv::Vec<_Tp, cn>::Vec’ is not a static data member of ‘class cv::Vec<_Tp, cn>’
/usr/local/include/opencv2/core/matx.hpp:1015:24: error: template definition of non-template ‘int cv::Vec<_Tp, cn>::Vec’
/usr/local/include/opencv2/core/matx.hpp:1015:19: error: ‘initializer_list’ is not a member of ‘std’
 Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
                   ^
/usr/local/include/opencv2/core/matx.hpp:1015:44: error: expected primary-expression before ‘>’ token
 Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
                                            ^
/usr/local/include/opencv2/core/matx.hpp:1015:46: error: ‘list’ was not declared in this scope
 Vec<_Tp, cn>::Vec(std::initializer_list<_Tp> list)
                                              ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:199:68: error: ‘array’ in namespace ‘std’ does not name a template type
     template<typename _Tp, std::size_t _Nm> _InputArray(const std::array<_Tp, _Nm>& arr);
                                                                    ^
/usr/local/include/opencv2/core/mat.hpp:199:73: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<typename _Tp, std::size_t _Nm> _InputArray(const std::array<_Tp, _Nm>& arr);
                                                                         ^
/usr/local/include/opencv2/core/mat.hpp:200:54: error: ‘array’ in namespace ‘std’ does not name a template type
     template<std::size_t _Nm> _InputArray(const std::array<Mat, _Nm>& arr);
                                                      ^
/usr/local/include/opencv2/core/mat.hpp:200:59: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<std::size_t _Nm> _InputArray(const std::array<Mat, _Nm>& arr);
                                                           ^
/usr/local/include/opencv2/core/mat.hpp:332:68: error: expected ‘)’ before ‘<’ token
     template<typename _Tp, std::size_t _Nm> _OutputArray(std::array<_Tp, _Nm>& arr);
                                                                    ^
/usr/local/include/opencv2/core/mat.hpp:333:69: error: ‘array’ in namespace ‘std’ does not name a template type
     template<typename _Tp, std::size_t _Nm> _OutputArray(const std::array<_Tp, _Nm>& arr);
                                                                     ^
/usr/local/include/opencv2/core/mat.hpp:333:74: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<typename _Tp, std::size_t _Nm> _OutputArray(const std::array<_Tp, _Nm>& arr);
                                                                          ^
/usr/local/include/opencv2/core/mat.hpp:334:54: error: expected ‘)’ before ‘<’ token
     template<std::size_t _Nm> _OutputArray(std::array<Mat, _Nm>& arr);
                                                      ^
/usr/local/include/opencv2/core/mat.hpp:335:55: error: ‘array’ in namespace ‘std’ does not name a template type
     template<std::size_t _Nm> _OutputArray(const std::array<Mat, _Nm>& arr);
                                                       ^
/usr/local/include/opencv2/core/mat.hpp:335:60: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<std::size_t _Nm> _OutputArray(const std::array<Mat, _Nm>& arr);
                                                            ^
/usr/local/include/opencv2/core/mat.hpp:401:73: error: expected ‘)’ before ‘<’ token
     template<typename _Tp, std::size_t _Nm> _InputOutputArray(std::array<_Tp, _Nm>& arr);
                                                                         ^
/usr/local/include/opencv2/core/mat.hpp:402:74: error: ‘array’ in namespace ‘std’ does not name a template type
     template<typename _Tp, std::size_t _Nm> _InputOutputArray(const std::array<_Tp, _Nm>& arr);
                                                                          ^
/usr/local/include/opencv2/core/mat.hpp:402:79: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<typename _Tp, std::size_t _Nm> _InputOutputArray(const std::array<_Tp, _Nm>& arr);
                                                                               ^
/usr/local/include/opencv2/core/mat.hpp:403:59: error: expected ‘)’ before ‘<’ token
     template<std::size_t _Nm> _InputOutputArray(std::array<Mat, _Nm>& arr);
                                                           ^
/usr/local/include/opencv2/core/mat.hpp:404:60: error: ‘array’ in namespace ‘std’ does not name a template type
     template<std::size_t _Nm> _InputOutputArray(const std::array<Mat, _Nm>& arr);
                                                            ^
/usr/local/include/opencv2/core/mat.hpp:404:65: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<std::size_t _Nm> _InputOutputArray(const std::array<Mat, _Nm>& arr);
                                                                 ^
/usr/local/include/opencv2/core/mat.hpp:987:53: error: ‘enable_if’ in namespace ‘std’ does not name a template type
     template<typename _Tp, typename = typename std::enable_if<std::is_arithmetic<_Tp>::value>::type>
                                                     ^
/usr/local/include/opencv2/core/mat.hpp:987:62: error: expected ‘>’ before ‘<’ token
     template<typename _Tp, typename = typename std::enable_if<std::is_arithmetic<_Tp>::value>::type>
                                                              ^
/usr/local/include/opencv2/core/mat.hpp:988:29: error: ‘initializer_list’ in namespace ‘std’ does not name a template type
     explicit Mat(const std::initializer_list<_Tp> list);
                             ^
/usr/local/include/opencv2/core/mat.hpp:988:45: error: expected ‘,’ or ‘...’ before ‘<’ token
     explicit Mat(const std::initializer_list<_Tp> list);
                                             ^
/usr/local/include/opencv2/core/mat.hpp:988:55: error: default template arguments may not be used in function templates without -std=c++11 or -std=gnu++11
     explicit Mat(const std::initializer_list<_Tp> list);
                                                       ^
/usr/local/include/opencv2/core/mat.hpp:992:52: error: ‘initializer_list’ in namespace ‘std’ does not name a template type
     template<typename _Tp> explicit Mat(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> list);
                                                    ^
/usr/local/include/opencv2/core/mat.hpp:992:68: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<typename _Tp> explicit Mat(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> list);
                                                                    ^
/usr/local/include/opencv2/core/mat.hpp:997:64: error: ‘array’ in namespace ‘std’ does not name a template type
     template<typename _Tp, size_t _Nm> explicit Mat(const std::array<_Tp, _Nm>& arr, bool copyData=false);
                                                                ^
/usr/local/include/opencv2/core/mat.hpp:997:69: error: expected ‘,’ or ‘...’ before ‘<’ token
     template<typename _Tp, size_t _Nm> explicit Mat(const std::array<_Tp, _Nm>& arr, bool copyData=false);
                                                                     ^
/usr/local/include/opencv2/core/mat.hpp:1630:59: error: ‘array’ in namespace ‘std’ does not name a template type
     template<typename _Tp, std::size_t _Nm> operator std::array<_Tp, _Nm>() const;
                                                           ^
/usr/local/include/opencv2/core/mat.hpp:2055:12: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat(Mat&& m);
            ^
/usr/local/include/opencv2/core/mat.hpp:2055:16: error: invalid constructor; you probably meant ‘cv::Mat (const cv::Mat&)’
     Mat(Mat&& m);
                ^
/usr/local/include/opencv2/core/mat.hpp:2056:25: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat& operator = (Mat&& m);
                         ^
/usr/local/include/opencv2/core/mat.hpp:2210:31: error: expected ‘)’ before ‘<’ token
     Mat_(std::initializer_list<_Tp> values);
                               ^
/usr/local/include/opencv2/core/mat.hpp:2211:30: error: ‘initializer_list’ in namespace ‘std’ does not name a template type
     explicit Mat_(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> values);
                              ^
/usr/local/include/opencv2/core/mat.hpp:2211:46: error: expected ‘,’ or ‘...’ before ‘<’ token
     explicit Mat_(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> values);
                                              ^
/usr/local/include/opencv2/core/mat.hpp:2214:57: error: ‘array’ in namespace ‘std’ does not name a template type
     template <std::size_t _Nm> explicit Mat_(const std::array<_Tp, _Nm>& arr, bool copyData=false);
                                                         ^
/usr/local/include/opencv2/core/mat.hpp:2214:62: error: expected ‘,’ or ‘...’ before ‘<’ token
     template <std::size_t _Nm> explicit Mat_(const std::array<_Tp, _Nm>& arr, bool copyData=false);
                                                              ^
/usr/local/include/opencv2/core/mat.hpp:2315:45: error: ‘array’ in namespace ‘std’ does not name a template type
     template<std::size_t _Nm> operator std::array<_Tp, _Nm>() const;
                                             ^
/usr/local/include/opencv2/core/mat.hpp:2323:14: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat_(Mat_&& m);
              ^
/usr/local/include/opencv2/core/mat.hpp:2323:18: error: invalid constructor; you probably meant ‘cv::Mat_<_Tp> (const cv::Mat_<_Tp>&)’
     Mat_(Mat_&& m);
                  ^
/usr/local/include/opencv2/core/mat.hpp:2324:27: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat_& operator = (Mat_&& m);
                           ^
/usr/local/include/opencv2/core/mat.hpp:2326:13: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat_(Mat&& m);
             ^
/usr/local/include/opencv2/core/mat.hpp:2327:26: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat_& operator = (Mat&& m);
                          ^
/usr/local/include/opencv2/core/mat.hpp:2329:17: error: expected ‘,’ or ‘...’ before ‘&&’ token
     Mat_(MatExpr&& e);
                 ^
/usr/local/include/opencv2/core/mat.hpp:2526:14: error: expected ‘,’ or ‘...’ before ‘&&’ token
     UMat(UMat&& m);
              ^
/usr/local/include/opencv2/core/mat.hpp:2526:18: error: invalid constructor; you probably meant ‘cv::UMat (const cv::UMat&)’
     UMat(UMat&& m);
                  ^
/usr/local/include/opencv2/core/mat.hpp:2527:27: error: expected ‘,’ or ‘...’ before ‘&&’ token
     UMat& operator = (UMat&& m);
                           ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:88:37: error: ‘array’ in namespace ‘std’ does not name a template type
 _InputArray::_InputArray(const std::array<_Tp, _Nm>& arr)
                                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:88:42: error: expected ‘,’ or ‘...’ before ‘<’ token
 _InputArray::_InputArray(const std::array<_Tp, _Nm>& arr)
                                          ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::_InputArray::_InputArray(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:89:86: error: ‘arr’ was not declared in this scope
 { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_READ, arr.data(), Size(1, _Nm)); }
                                                                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:92:37: error: ‘array’ in namespace ‘std’ does not name a template type
 _InputArray::_InputArray(const std::array<Mat, _Nm>& arr)
                                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:92:42: error: expected ‘,’ or ‘...’ before ‘<’ token
 _InputArray::_InputArray(const std::array<Mat, _Nm>& arr)
                                          ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::_InputArray::_InputArray(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:93:37: error: ‘arr’ was not declared in this scope
 { init(STD_ARRAY_MAT + ACCESS_READ, arr.data(), Size(1, _Nm)); }
                                     ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:175:33: error: ‘cv::_OutputArray::_OutputArray’ declared as an ‘inline’ variable
 _OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr)
                                 ^
/usr/local/include/opencv2/core/mat.inl.hpp:175:33: error: ‘int cv::_OutputArray::_OutputArray’ is not a static data member of ‘class cv::_OutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:175:33: error: template definition of non-template ‘int cv::_OutputArray::_OutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:175:28: error: ‘array’ is not a member of ‘std’
 _OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr)
                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:175:42: error: expected primary-expression before ‘,’ token
 _OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr)
                                          ^
/usr/local/include/opencv2/core/mat.inl.hpp:175:50: error: ‘arr’ was not declared in this scope
 _OutputArray::_OutputArray(std::array<_Tp, _Nm>& arr)
                                                  ^
/usr/local/include/opencv2/core/mat.inl.hpp:179:33: error: ‘cv::_OutputArray::_OutputArray’ declared as an ‘inline’ variable
 _OutputArray::_OutputArray(std::array<Mat, _Nm>& arr)
                                 ^
/usr/local/include/opencv2/core/mat.inl.hpp:179:33: error: ‘int cv::_OutputArray::_OutputArray’ is not a static data member of ‘class cv::_OutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:179:33: error: template definition of non-template ‘int cv::_OutputArray::_OutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:179:28: error: ‘array’ is not a member of ‘std’
 _OutputArray::_OutputArray(std::array<Mat, _Nm>& arr)
                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:179:42: error: expected primary-expression before ‘,’ token
 _OutputArray::_OutputArray(std::array<Mat, _Nm>& arr)
                                          ^
/usr/local/include/opencv2/core/mat.inl.hpp:179:50: error: ‘arr’ was not declared in this scope
 _OutputArray::_OutputArray(std::array<Mat, _Nm>& arr)
                                                  ^
/usr/local/include/opencv2/core/mat.inl.hpp:215:39: error: ‘array’ in namespace ‘std’ does not name a template type
 _OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr)
                                       ^
/usr/local/include/opencv2/core/mat.inl.hpp:215:44: error: expected ‘,’ or ‘...’ before ‘<’ token
 _OutputArray::_OutputArray(const std::array<_Tp, _Nm>& arr)
                                            ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::_OutputArray::_OutputArray(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:216:87: error: ‘arr’ was not declared in this scope
 { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_WRITE, arr.data(), Size(1, _Nm)); }
                                                                                       ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:219:39: error: ‘array’ in namespace ‘std’ does not name a template type
 _OutputArray::_OutputArray(const std::array<Mat, _Nm>& arr)
                                       ^
/usr/local/include/opencv2/core/mat.inl.hpp:219:44: error: expected ‘,’ or ‘...’ before ‘<’ token
 _OutputArray::_OutputArray(const std::array<Mat, _Nm>& arr)
                                            ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::_OutputArray::_OutputArray(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:220:51: error: ‘arr’ was not declared in this scope
 { init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_WRITE, arr.data(), Size(1, _Nm)); }
                                                   ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:290:43: error: ‘cv::_InputOutputArray::_InputOutputArray’ declared as an ‘inline’ variable
 _InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr)
                                           ^
/usr/local/include/opencv2/core/mat.inl.hpp:290:43: error: ‘int cv::_InputOutputArray::_InputOutputArray’ is not a static data member of ‘class cv::_InputOutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:290:43: error: template definition of non-template ‘int cv::_InputOutputArray::_InputOutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:290:38: error: ‘array’ is not a member of ‘std’
 _InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr)
                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp:290:52: error: expected primary-expression before ‘,’ token
 _InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr)
                                                    ^
/usr/local/include/opencv2/core/mat.inl.hpp:290:60: error: ‘arr’ was not declared in this scope
 _InputOutputArray::_InputOutputArray(std::array<_Tp, _Nm>& arr)
                                                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:294:43: error: ‘cv::_InputOutputArray::_InputOutputArray’ declared as an ‘inline’ variable
 _InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr)
                                           ^
/usr/local/include/opencv2/core/mat.inl.hpp:294:43: error: ‘int cv::_InputOutputArray::_InputOutputArray’ is not a static data member of ‘class cv::_InputOutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:294:43: error: template definition of non-template ‘int cv::_InputOutputArray::_InputOutputArray’
/usr/local/include/opencv2/core/mat.inl.hpp:294:38: error: ‘array’ is not a member of ‘std’
 _InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr)
                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp:294:52: error: expected primary-expression before ‘,’ token
 _InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr)
                                                    ^
/usr/local/include/opencv2/core/mat.inl.hpp:294:60: error: ‘arr’ was not declared in this scope
 _InputOutputArray::_InputOutputArray(std::array<Mat, _Nm>& arr)
                                                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:325:49: error: ‘array’ in namespace ‘std’ does not name a template type
 _InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr)
                                                 ^
/usr/local/include/opencv2/core/mat.inl.hpp:325:54: error: expected ‘,’ or ‘...’ before ‘<’ token
 _InputOutputArray::_InputOutputArray(const std::array<_Tp, _Nm>& arr)
                                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::_InputOutputArray::_InputOutputArray(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:326:84: error: ‘arr’ was not declared in this scope
 { init(FIXED_TYPE + FIXED_SIZE + STD_ARRAY + traits::Type<_Tp>::value + ACCESS_RW, arr.data(), Size(1, _Nm)); }
                                                                                    ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:329:49: error: ‘array’ in namespace ‘std’ does not name a template type
 _InputOutputArray::_InputOutputArray(const std::array<Mat, _Nm>& arr)
                                                 ^
/usr/local/include/opencv2/core/mat.inl.hpp:329:54: error: expected ‘,’ or ‘...’ before ‘<’ token
 _InputOutputArray::_InputOutputArray(const std::array<Mat, _Nm>& arr)
                                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::_InputOutputArray::_InputOutputArray(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:330:48: error: ‘arr’ was not declared in this scope
 { init(FIXED_SIZE + STD_ARRAY_MAT + ACCESS_RW, arr.data(), Size(1, _Nm)); }
                                                ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:562:21: error: ‘initializer_list’ in namespace ‘std’ does not name a template type
 Mat::Mat(const std::initializer_list<_Tp> list)
                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:562:37: error: expected ‘,’ or ‘...’ before ‘<’ token
 Mat::Mat(const std::initializer_list<_Tp> list)
                                     ^
In file included from /usr/local/include/opencv2/core.hpp:54:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat::Mat(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:565:5: error: ‘list’ was not declared in this scope
     CV_Assert(list.size() != 0);
     ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:566:14: error: ‘list’ was not declared in this scope
     Mat((int)list.size(), 1, traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this);
              ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:570:21: error: ‘initializer_list’ in namespace ‘std’ does not name a template type
 Mat::Mat(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> list)
                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:570:37: error: expected ‘,’ or ‘...’ before ‘<’ token
 Mat::Mat(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> list)
                                     ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat::Mat(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:574:14: error: ‘s’ does not name a type
     for(auto s : sizes)
              ^
In file included from /usr/local/include/opencv2/core.hpp:54:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:576:5: error: expected ‘;’ before ‘do’
     CV_Assert(list.size() != 0);
     ^
/usr/local/include/opencv2/core/mat.inl.hpp:576:5: error: expected primary-expression before ‘do’
/usr/local/include/opencv2/core/mat.inl.hpp:576:5: error: expected ‘;’ before ‘do’
/usr/local/include/opencv2/core/mat.inl.hpp:576:5: error: expected primary-expression before ‘do’
/usr/local/include/opencv2/core/mat.inl.hpp:576:5: error: expected ‘)’ before ‘do’
/usr/local/include/opencv2/core/mat.inl.hpp:576:5: error: ‘list’ was not declared in this scope
     CV_Assert(list.size() != 0);
     ^
/usr/local/include/opencv2/core/mat.inl.hpp:577:5: error: ‘list’ was not declared in this scope
     CV_Assert(size_total == list.size());
     ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:578:14: error: ‘sizes’ was not declared in this scope
     Mat((int)sizes.size(), (int*)sizes.begin(), traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this);
              ^
/usr/local/include/opencv2/core/mat.inl.hpp:578:83: error: ‘list’ was not declared in this scope
     Mat((int)sizes.size(), (int*)sizes.begin(), traits::Type<_Tp>::value, (uchar*)list.begin()).copyTo(*this);
                                                                                   ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:582:21: error: ‘array’ in namespace ‘std’ does not name a template type
 Mat::Mat(const std::array<_Tp, _Nm>& arr, bool copyData)
                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:582:26: error: expected ‘,’ or ‘...’ before ‘<’ token
 Mat::Mat(const std::array<_Tp, _Nm>& arr, bool copyData)
                          ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat::Mat(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:583:90: error: ‘arr’ was not declared in this scope
     : flags(MAGIC_VAL | traits::Type<_Tp>::value | CV_MAT_CONT_FLAG), dims(2), rows((int)arr.size()),
                                                                                          ^
/usr/local/include/opencv2/core/mat.inl.hpp:588:10: error: ‘copyData’ was not declared in this scope
     if( !copyData )
          ^
/usr/local/include/opencv2/core/mat.inl.hpp: In member function ‘void cv::Mat::assignTo(cv::Mat&, int) const’:
/usr/local/include/opencv2/core/mat.inl.hpp:762:11: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Mat’ and ‘const cv::Mat’)
         m = *this;
           ^
/usr/local/include/opencv2/core/mat.inl.hpp:686:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::Mat&)
 Mat& Mat::operator = (const Mat& m)
      ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:2056:10: note: candidate: cv::Mat& cv::Mat::operator=(cv::Mat)
     Mat& operator = (Mat&& m);
          ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:1247:20: error: ‘array’ in namespace ‘std’ does not name a template type
 Mat::operator std::array<_Tp, _Nm>() const
                    ^
/usr/local/include/opencv2/core/mat.inl.hpp:1321:13: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat::Mat(Mat&& m)
             ^
/usr/local/include/opencv2/core/mat.inl.hpp:1321:1: error: prototype for ‘cv::Mat::Mat(cv::Mat)’ does not match any in class ‘cv::Mat’
 Mat::Mat(Mat&& m)
 ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:1021:14: error: candidates are: cv::Mat::Mat(const cv::cuda::GpuMat&)
     explicit Mat(const cuda::GpuMat& m);
              ^
/usr/local/include/opencv2/core/mat.hpp:1018:37: error:                 template<class _Tp> cv::Mat::Mat(const cv::MatCommaInitializer_<_Tp>&)
     template<typename _Tp> explicit Mat(const MatCommaInitializer_<_Tp>& commaInitializer);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:1014:37: error:                 template<class _Tp> cv::Mat::Mat(const cv::Point3_<_Tp>&, bool)
     template<typename _Tp> explicit Mat(const Point3_<_Tp>& pt, bool copyData=true);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:1010:37: error:                 template<class _Tp> cv::Mat::Mat(const cv::Point_<_Tp>&, bool)
     template<typename _Tp> explicit Mat(const Point_<_Tp>& pt, bool copyData=true);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:1006:51: error:                 template<class _Tp, int m, int n> cv::Mat::Mat(const cv::Matx<_Tp, m, n>&, bool)
     template<typename _Tp, int m, int n> explicit Mat(const Matx<_Tp, m, n>& mtx, bool copyData=true);
                                                   ^
/usr/local/include/opencv2/core/mat.hpp:1002:44: error:                 template<class _Tp, int n> cv::Mat::Mat(const cv::Vec<_Tp, m>&, bool)
     template<typename _Tp, int n> explicit Mat(const Vec<_Tp, n>& vec, bool copyData=true);
                                            ^
/usr/local/include/opencv2/core/mat.hpp:997:49: error:                 template<class _Tp, long unsigned int _Nm> cv::Mat::Mat(int)
     template<typename _Tp, size_t _Nm> explicit Mat(const std::array<_Tp, _Nm>& arr, bool copyData=false);
                                                 ^
/usr/local/include/opencv2/core/mat.hpp:992:37: error:                 template<class _Tp> cv::Mat::Mat(int)
     template<typename _Tp> explicit Mat(const std::initializer_list<int> sizes, const std::initializer_list<_Tp> list);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:988:14: error:                 template<class _Tp, class> cv::Mat::Mat(int)
     explicit Mat(const std::initializer_list<_Tp> list);
              ^
/usr/local/include/opencv2/core/mat.hpp:983:37: error:                 template<class _Tp> cv::Mat::Mat(const std::vector<_Tp>&, bool)
     template<typename _Tp> explicit Mat(const std::vector<_Tp>& vec, bool copyData=false);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:965:5: error:                 cv::Mat::Mat(const cv::Mat&, const std::vector<cv::Range>&)
     Mat(const Mat& m, const std::vector<Range>& ranges);
     ^
/usr/local/include/opencv2/core/mat.hpp:955:5: error:                 cv::Mat::Mat(const cv::Mat&, const cv::Range*)
     Mat(const Mat& m, const Range* ranges);
     ^
/usr/local/include/opencv2/core/mat.hpp:945:5: error:                 cv::Mat::Mat(const cv::Mat&, const Rect&)
     Mat(const Mat& m, const Rect& roi);
     ^
/usr/local/include/opencv2/core/mat.hpp:935:5: error:                 cv::Mat::Mat(const cv::Mat&, const cv::Range&, const cv::Range&)
     Mat(const Mat& m, const Range& rowRange, const Range& colRange=Range::all());
     ^
/usr/local/include/opencv2/core/mat.hpp:923:5: error:                 cv::Mat::Mat(const std::vector<int>&, int, void*, const size_t*)
     Mat(const std::vector<int>& sizes, int type, void* data, const size_t* steps=0);
     ^
/usr/local/include/opencv2/core/mat.hpp:909:5: error:                 cv::Mat::Mat(int, const int*, int, void*, const size_t*)
     Mat(int ndims, const int* sizes, int type, void* data, const size_t* steps=0);
     ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:515:1: error:                 cv::Mat::Mat(cv::Size, int, void*, size_t)
 Mat::Mat(Size _sz, int _type, void* _data, size_t _step)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:486:1: error:                 cv::Mat::Mat(int, int, int, void*, size_t)
 Mat::Mat(int _rows, int _cols, int _type, void* _data, size_t _step)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:467:1: error:                 cv::Mat::Mat(const cv::Mat&)
 Mat::Mat(const Mat& m)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:458:1: error:                 cv::Mat::Mat(const std::vector<int>&, int, const Scalar&)
 Mat::Mat(const std::vector<int>& _sz, int _type, const Scalar& _s)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:441:1: error:                 cv::Mat::Mat(int, const int*, int, const Scalar&)
 Mat::Mat(int _dims, const int* _sz, int _type, const Scalar& _s)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:450:1: error:                 cv::Mat::Mat(const std::vector<int>&, int)
 Mat::Mat(const std::vector<int>& _sz, int _type)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:433:1: error:                 cv::Mat::Mat(int, const int*, int)
 Mat::Mat(int _dims, const int* _sz, int _type)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:424:1: error:                 cv::Mat::Mat(cv::Size, int, const Scalar&)
 Mat::Mat(Size _sz, int _type, const Scalar& _s)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:407:1: error:                 cv::Mat::Mat(int, int, int, const Scalar&)
 Mat::Mat(int _rows, int _cols, int _type, const Scalar& _s)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:416:1: error:                 cv::Mat::Mat(cv::Size, int)
 Mat::Mat(Size _sz, int _type)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:399:1: error:                 cv::Mat::Mat(int, int, int)
 Mat::Mat(int _rows, int _cols, int _type)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:393:1: error:                 cv::Mat::Mat()
 Mat::Mat()
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1346:26: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat& Mat::operator = (Mat&& m)
                          ^
/usr/local/include/opencv2/core/mat.inl.hpp: In member function ‘cv::Mat& cv::Mat::operator=(cv::Mat)’:
/usr/local/include/opencv2/core/mat.inl.hpp:1348:18: error: ‘m’ was not declared in this scope
     if (this == &m)
                  ^
/usr/local/include/opencv2/core/mat.inl.hpp:1352:13: error: ‘m’ was not declared in this scope
     flags = m.flags; dims = m.dims; rows = m.rows; cols = m.cols; data = m.data;
             ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:1626:22: error: ‘cv::Mat_<_Tp>::Mat_’ declared as an ‘inline’ variable
 Mat_<_Tp>::Mat_(std::initializer_list<_Tp> list)
                      ^
/usr/local/include/opencv2/core/mat.inl.hpp:1626:22: error: ‘int cv::Mat_<_Tp>::Mat_’ is not a static data member of ‘class cv::Mat_<_Tp>’
/usr/local/include/opencv2/core/mat.inl.hpp:1626:22: error: template definition of non-template ‘int cv::Mat_<_Tp>::Mat_’
/usr/local/include/opencv2/core/mat.inl.hpp:1626:17: error: ‘initializer_list’ is not a member of ‘std’
 Mat_<_Tp>::Mat_(std::initializer_list<_Tp> list)
                 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1626:42: error: expected primary-expression before ‘>’ token
 Mat_<_Tp>::Mat_(std::initializer_list<_Tp> list)
                                          ^
/usr/local/include/opencv2/core/mat.inl.hpp:1626:44: error: ‘list’ was not declared in this scope
 Mat_<_Tp>::Mat_(std::initializer_list<_Tp> list)
                                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:1631:28: error: ‘initializer_list’ in namespace ‘std’ does not name a template type
 Mat_<_Tp>::Mat_(const std::initializer_list<int> sizes, std::initializer_list<_Tp> list)
                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:1631:44: error: expected ‘,’ or ‘...’ before ‘<’ token
 Mat_<_Tp>::Mat_(const std::initializer_list<int> sizes, std::initializer_list<_Tp> list)
                                            ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat_<_Tp>::Mat_(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:1632:11: error: ‘sizes’ was not declared in this scope
     : Mat(sizes, list)
           ^
/usr/local/include/opencv2/core/mat.inl.hpp:1632:18: error: ‘list’ was not declared in this scope
     : Mat(sizes, list)
                  ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:1636:28: error: ‘array’ in namespace ‘std’ does not name a template type
 Mat_<_Tp>::Mat_(const std::array<_Tp, _Nm>& arr, bool copyData)
                            ^
/usr/local/include/opencv2/core/mat.inl.hpp:1636:33: error: expected ‘,’ or ‘...’ before ‘<’ token
 Mat_<_Tp>::Mat_(const std::array<_Tp, _Nm>& arr, bool copyData)
                                 ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat_<_Tp>::Mat_(int)’:
/usr/local/include/opencv2/core/mat.inl.hpp:1637:11: error: ‘arr’ was not declared in this scope
     : Mat(arr, copyData)
           ^
/usr/local/include/opencv2/core/mat.inl.hpp:1637:16: error: ‘copyData’ was not declared in this scope
     : Mat(arr, copyData)
                ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:1927:26: error: ‘array’ in namespace ‘std’ does not name a template type
 Mat_<_Tp>::operator std::array<_Tp, _Nm>() const
                          ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:1997:21: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat_<_Tp>::Mat_(Mat_&& m)
                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:1997:1: error: prototype for ‘cv::Mat_<_Tp>::Mat_(cv::Mat_<_Tp>)’ does not match any in class ‘cv::Mat_<_Tp>’
 Mat_<_Tp>::Mat_(Mat_&& m)
 ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:2329:5: error: candidates are: cv::Mat_<_Tp>::Mat_(cv::MatExpr)
     Mat_(MatExpr&& e);
     ^
/usr/local/include/opencv2/core/mat.hpp:2326:5: error:                 cv::Mat_<_Tp>::Mat_(cv::Mat)
     Mat_(Mat&& m);
     ^
/usr/local/include/opencv2/core/mat.hpp:2214:41: error:                 template<class _Tp> template<long unsigned int _Nm> cv::Mat_<_Tp>::Mat_(int)
     template <std::size_t _Nm> explicit Mat_(const std::array<_Tp, _Nm>& arr, bool copyData=false);
                                         ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:1631:1: error:                 cv::Mat_<_Tp>::Mat_(int)
 Mat_<_Tp>::Mat_(const std::initializer_list<int> sizes, std::initializer_list<_Tp> list)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1616:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::MatCommaInitializer_<_Tp>&)
 Mat_<_Tp>::Mat_(const MatCommaInitializer_<_Tp>& commaInitializer)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1607:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Point3_<typename cv::DataType<_Tp>::channel_type>&, bool)
 Mat_<_Tp>::Mat_(const Point3_<typename DataType<_Tp>::channel_type>& pt, bool copyData)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1598:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Point_<typename cv::DataType<_Tp>::channel_type>&, bool)
 Mat_<_Tp>::Mat_(const Point_<typename DataType<_Tp>::channel_type>& pt, bool copyData)
 ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:2205:37: error:                 template<class _Tp> template<int m, int n> cv::Mat_<_Tp>::Mat_(const cv::Matx<typename cv::DataType<_Tp>::channel_type, m, n>&, bool)
     template<int m, int n> explicit Mat_(const Matx<typename DataType<_Tp>::channel_type, m, n>& mtx, bool copyData=true);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:2204:30: error:                 template<class _Tp> template<int n> cv::Mat_<_Tp>::Mat_(const cv::Vec<typename cv::DataType<_Tp>::channel_type, n>&, bool)
     template<int n> explicit Mat_(const Vec<typename DataType<_Tp>::channel_type, n>& vec, bool copyData=true);
                              ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:1621:1: error:                 cv::Mat_<_Tp>::Mat_(const std::vector<_Tp>&, bool)
 Mat_<_Tp>::Mat_(const std::vector<_Tp>& vec, bool copyData)
 ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:2201:14: error:                 cv::Mat_<_Tp>::Mat_(const cv::MatExpr&)
     explicit Mat_(const MatExpr& e);
              ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:1547:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Mat_<_Tp>&, const std::vector<cv::Range>&)
 Mat_<_Tp>::Mat_(const Mat_<_Tp>& m, const std::vector<Range>& ranges)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1542:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Mat_<_Tp>&, const cv::Range*)
 Mat_<_Tp>::Mat_(const Mat_<_Tp>& m, const Range* ranges)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1575:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Mat_<_Tp>&, const Rect&)
 Mat_<_Tp>::Mat_(const Mat_& m, const Rect& roi)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1570:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Mat_<_Tp>&, const cv::Range&, const cv::Range&)
 Mat_<_Tp>::Mat_(const Mat_& m, const Range& _rowRange, const Range& _colRange)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1537:1: error:                 cv::Mat_<_Tp>::Mat_(int, const int*, _Tp*, const size_t*)
 Mat_<_Tp>::Mat_(int _dims, const int* _sz, _Tp* _data, const size_t* _steps)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1565:1: error:                 cv::Mat_<_Tp>::Mat_(int, int, _Tp*, size_t)
 Mat_<_Tp>::Mat_(int _rows, int _cols, _Tp* _data, size_t steps)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1560:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Mat_<_Tp>&)
 Mat_<_Tp>::Mat_(const Mat_& m)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1552:1: error:                 cv::Mat_<_Tp>::Mat_(const cv::Mat&)
 Mat_<_Tp>::Mat_(const Mat& m)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1532:1: error:                 cv::Mat_<_Tp>::Mat_(int, const int*, const _Tp&)
 Mat_<_Tp>::Mat_(int _dims, const int* _sz, const _Tp& _s)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1527:1: error:                 cv::Mat_<_Tp>::Mat_(int, const int*)
 Mat_<_Tp>::Mat_(int _dims, const int* _sz)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1520:1: error:                 cv::Mat_<_Tp>::Mat_(cv::Size, const _Tp&)
 Mat_<_Tp>::Mat_(Size _sz, const _Tp& value)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1515:1: error:                 cv::Mat_<_Tp>::Mat_(cv::Size)
 Mat_<_Tp>::Mat_(Size _sz)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1508:1: error:                 cv::Mat_<_Tp>::Mat_(int, int, const _Tp&)
 Mat_<_Tp>::Mat_(int _rows, int _cols, const _Tp& value)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1502:1: error:                 cv::Mat_<_Tp>::Mat_(int, int)
 Mat_<_Tp>::Mat_(int _rows, int _cols)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:1495:1: error:                 cv::Mat_<_Tp>::Mat_()
 Mat_<_Tp>::Mat_()
 ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:2003:39: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat_<_Tp>& Mat_<_Tp>::operator = (Mat_&& m)
                                       ^
/usr/local/include/opencv2/core/mat.inl.hpp: In member function ‘cv::Mat_<_Tp>& cv::Mat_<_Tp>::operator=(cv::Mat_<_Tp>)’:
/usr/local/include/opencv2/core/mat.inl.hpp:2005:22: error: ‘move’ is not a member of ‘std’
     Mat::operator = (std::move(m));
                      ^
/usr/local/include/opencv2/core/mat.inl.hpp:2005:32: error: ‘m’ was not declared in this scope
     Mat::operator = (std::move(m));
                                ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:2010:20: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat_<_Tp>::Mat_(Mat&& m)
                    ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat_<_Tp>::Mat_(cv::Mat)’:
/usr/local/include/opencv2/core/mat.inl.hpp:2014:13: error: ‘m’ was not declared in this scope
     *this = m;
             ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:2018:38: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat_<_Tp>& Mat_<_Tp>::operator = (Mat&& m)
                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp: In member function ‘cv::Mat_<_Tp>& cv::Mat_<_Tp>::operator=(cv::Mat)’:
/usr/local/include/opencv2/core/mat.inl.hpp:2020:37: error: ‘m’ was not declared in this scope
     if( traits::Type<_Tp>::value == m.type() )
                                     ^
/usr/local/include/opencv2/core/mat.inl.hpp:2022:30: error: expected primary-expression before ‘&&’ token
         Mat::operator = ((Mat&&)m);
                              ^
/usr/local/include/opencv2/core/mat.inl.hpp:2022:32: error: expected primary-expression before ‘)’ token
         Mat::operator = ((Mat&&)m);
                                ^
/usr/local/include/opencv2/core/mat.inl.hpp:2025:38: error: ‘m’ was not declared in this scope
     if( traits::Depth<_Tp>::value == m.depth() )
                                      ^
/usr/local/include/opencv2/core/mat.inl.hpp:2027:30: error: expected primary-expression before ‘&&’ token
         Mat::operator = ((Mat&&)m.reshape(DataType<_Tp>::channels, m.dims, 0));
                              ^
/usr/local/include/opencv2/core/mat.inl.hpp:2027:32: error: expected primary-expression before ‘)’ token
         Mat::operator = ((Mat&&)m.reshape(DataType<_Tp>::channels, m.dims, 0));
                                ^
/usr/local/include/opencv2/core/mat.inl.hpp:2031:5: error: ‘m’ was not declared in this scope
     m.convertTo(*this, type());
     ^
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:2036:24: error: expected ‘,’ or ‘...’ before ‘&&’ token
 Mat_<_Tp>::Mat_(MatExpr&& e)
                        ^
/usr/local/include/opencv2/core/mat.inl.hpp: In constructor ‘cv::Mat_<_Tp>::Mat_(cv::MatExpr)’:
/usr/local/include/opencv2/core/mat.inl.hpp:2040:17: error: ‘e’ was not declared in this scope
     *this = Mat(e);
                 ^
/usr/local/include/opencv2/core/mat.inl.hpp: In member function ‘void cv::UMat::assignTo(cv::UMat&, int) const’:
/usr/local/include/opencv2/core/mat.inl.hpp:3687:11: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::UMat’ and ‘const cv::UMat’)
         m = *this;
           ^
/usr/local/include/opencv2/core/mat.inl.hpp:3613:7: note: candidate: cv::UMat& cv::UMat::operator=(const cv::UMat&)
 UMat& UMat::operator = (const UMat& m)
       ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:2527:11: note: candidate: cv::UMat& cv::UMat::operator=(cv::UMat)
     UMat& operator = (UMat&& m);
           ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp: At global scope:
/usr/local/include/opencv2/core/mat.inl.hpp:3814:16: error: expected ‘,’ or ‘...’ before ‘&&’ token
 UMat::UMat(UMat&& m)
                ^
/usr/local/include/opencv2/core/mat.inl.hpp:3814:1: error: prototype for ‘cv::UMat::UMat(cv::UMat)’ does not match any in class ‘cv::UMat’
 UMat::UMat(UMat&& m)
 ^
In file included from /usr/local/include/opencv2/core.hpp:59:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.hpp:2400:37: error: candidates are: template<class _Tp> cv::UMat::UMat(const cv::MatCommaInitializer_<_Tp>&)
     template<typename _Tp> explicit UMat(const MatCommaInitializer_<_Tp>& commaInitializer);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:2398:37: error:                 template<class _Tp> cv::UMat::UMat(const cv::Point3_<_Tp>&, bool)
     template<typename _Tp> explicit UMat(const Point3_<_Tp>& pt, bool copyData=true);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:2396:37: error:                 template<class _Tp> cv::UMat::UMat(const cv::Point_<_Tp>&, bool)
     template<typename _Tp> explicit UMat(const Point_<_Tp>& pt, bool copyData=true);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:2394:51: error:                 template<class _Tp, int m, int n> cv::UMat::UMat(const cv::Matx<_Tp, m, n>&, bool)
     template<typename _Tp, int m, int n> explicit UMat(const Matx<_Tp, m, n>& mtx, bool copyData=true);
                                                   ^
/usr/local/include/opencv2/core/mat.hpp:2392:44: error:                 template<class _Tp, int n> cv::UMat::UMat(const cv::Vec<_Tp, m>&, bool)
     template<typename _Tp, int n> explicit UMat(const Vec<_Tp, n>& vec, bool copyData=true);
                                            ^
/usr/local/include/opencv2/core/mat.hpp:2389:37: error:                 template<class _Tp> cv::UMat::UMat(const std::vector<_Tp>&, bool)
     template<typename _Tp> explicit UMat(const std::vector<_Tp>& vec, bool copyData=false);
                                     ^
/usr/local/include/opencv2/core/mat.hpp:2387:5: error:                 cv::UMat::UMat(const cv::UMat&, const std::vector<cv::Range>&)
     UMat(const UMat& m, const std::vector<Range>& ranges);
     ^
/usr/local/include/opencv2/core/mat.hpp:2386:5: error:                 cv::UMat::UMat(const cv::UMat&, const cv::Range*)
     UMat(const UMat& m, const Range* ranges);
     ^
/usr/local/include/opencv2/core/mat.hpp:2385:5: error:                 cv::UMat::UMat(const cv::UMat&, const Rect&)
     UMat(const UMat& m, const Rect& roi);
     ^
/usr/local/include/opencv2/core/mat.hpp:2384:5: error:                 cv::UMat::UMat(const cv::UMat&, const cv::Range&, const cv::Range&)
     UMat(const UMat& m, const Range& rowRange, const Range& colRange=Range::all());
     ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:3579:1: error:                 cv::UMat::UMat(const cv::UMat&)
 UMat::UMat(const UMat& m)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3571:1: error:                 cv::UMat::UMat(int, const int*, int, const Scalar&, cv::UMatUsageFlags)
 UMat::UMat(int _dims, const int* _sz, int _type, const Scalar& _s, UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3564:1: error:                 cv::UMat::UMat(int, const int*, int, cv::UMatUsageFlags)
 UMat::UMat(int _dims, const int* _sz, int _type, UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3556:1: error:                 cv::UMat::UMat(cv::Size, int, const Scalar&, cv::UMatUsageFlags)
 UMat::UMat(Size _sz, int _type, const Scalar& _s, UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3541:1: error:                 cv::UMat::UMat(int, int, int, const Scalar&, cv::UMatUsageFlags)
 UMat::UMat(int _rows, int _cols, int _type, const Scalar& _s, UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3549:1: error:                 cv::UMat::UMat(cv::Size, int, cv::UMatUsageFlags)
 UMat::UMat(Size _sz, int _type, UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3534:1: error:                 cv::UMat::UMat(int, int, int, cv::UMatUsageFlags)
 UMat::UMat(int _rows, int _cols, int _type, UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3529:1: error:                 cv::UMat::UMat(cv::UMatUsageFlags)
 UMat::UMat(UMatUsageFlags _usageFlags)
 ^
/usr/local/include/opencv2/core/mat.inl.hpp:3838:29: error: expected ‘,’ or ‘...’ before ‘&&’ token
 UMat& UMat::operator = (UMat&& m)
                             ^
/usr/local/include/opencv2/core/mat.inl.hpp: In member function ‘cv::UMat& cv::UMat::operator=(cv::UMat)’:
/usr/local/include/opencv2/core/mat.inl.hpp:3840:18: error: ‘m’ was not declared in this scope
     if (this == &m)
                  ^
/usr/local/include/opencv2/core/mat.inl.hpp:3843:13: error: ‘m’ was not declared in this scope
     flags = m.flags; dims = m.dims; rows = m.rows; cols = m.cols;
             ^
In file included from /usr/local/include/opencv2/core.hpp:3272:0,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/utility.hpp: At global scope:
/usr/local/include/opencv2/core/utility.hpp:537:10: error: ‘function’ in namespace ‘std’ does not name a template type
     std::function<void(const Range&)> m_functor;
          ^
/usr/local/include/opencv2/core/utility.hpp:539:48: error: expected ‘)’ before ‘<’ token
     ParallelLoopBodyLambdaWrapper(std::function<void(const Range&)> functor) :
                                                ^
/usr/local/include/opencv2/core/utility.hpp: In member function ‘virtual void cv::ParallelLoopBodyLambdaWrapper::operator()(const cv::Range&) const’:
/usr/local/include/opencv2/core/utility.hpp:545:24: error: ‘m_functor’ was not declared in this scope
         m_functor(range);
                        ^
/usr/local/include/opencv2/core/utility.hpp: At global scope:
/usr/local/include/opencv2/core/utility.hpp:549:52: error: ‘std::function’ has not been declared
 inline void parallel_for_(const Range& range, std::function<void(const Range&)> functor, double nstripes=-1.)
                                                    ^
/usr/local/include/opencv2/core/utility.hpp:549:60: error: expected ‘,’ or ‘...’ before ‘<’ token
 inline void parallel_for_(const Range& range, std::function<void(const Range&)> functor, double nstripes=-1.)
                                                            ^
/usr/local/include/opencv2/core/utility.hpp: In function ‘void cv::parallel_for_(const cv::Range&, int)’:
/usr/local/include/opencv2/core/utility.hpp:551:56: error: ‘functor’ was not declared in this scope
     parallel_for_(range, ParallelLoopBodyLambdaWrapper(functor), nstripes);
                                                        ^
/usr/local/include/opencv2/core/utility.hpp:551:66: error: ‘nstripes’ was not declared in this scope
     parallel_for_(range, ParallelLoopBodyLambdaWrapper(functor), nstripes);
                                                                  ^
/usr/local/include/opencv2/core/utility.hpp: At global scope:
/usr/local/include/opencv2/core/utility.hpp:653:14: error: ‘recursive_mutex’ in namespace ‘std’ does not name a type
 typedef std::recursive_mutex Mutex;
              ^
/usr/local/include/opencv2/core/utility.hpp:654:14: error: ‘lock_guard’ in namespace ‘std’ does not name a template type
 typedef std::lock_guard<cv::Mutex> AutoLock;
              ^
src/caffe/util/io.cpp: In function ‘cv::Mat caffe::ReadImageToCVMat(const string&, int, int, bool)’:
src/caffe/util/io.cpp:86:12: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Mat’ and ‘cv::Mat’)
     cv_img = cv_img_origin;
            ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:686:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::Mat&)
 Mat& Mat::operator = (const Mat& m)
      ^
/usr/local/include/opencv2/core/mat.inl.hpp:1346:6: note: candidate: cv::Mat& cv::Mat::operator=(cv::Mat)
 Mat& Mat::operator = (Mat&& m)
      ^
src/caffe/util/io.cpp: In function ‘cv::Mat caffe::DecodeDatumToCVMatNative(const caffe::Datum&)’:
src/caffe/util/io.cpp:171:10: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Mat’ and ‘cv::Mat’)
   cv_img = cv::imdecode(vec_data, -1);
          ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:686:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::Mat&)
 Mat& Mat::operator = (const Mat& m)
      ^
/usr/local/include/opencv2/core/mat.inl.hpp:1346:6: note: candidate: cv::Mat& cv::Mat::operator=(cv::Mat)
 Mat& Mat::operator = (Mat&& m)
      ^
src/caffe/util/io.cpp: In function ‘cv::Mat caffe::DecodeDatumToCVMat(const caffe::Datum&, bool)’:
src/caffe/util/io.cpp:184:10: error: ambiguous overload for ‘operator=’ (operand types are ‘cv::Mat’ and ‘cv::Mat’)
   cv_img = cv::imdecode(vec_data, cv_read_flag);
          ^
In file included from /usr/local/include/opencv2/core/mat.hpp:3653:0,
                 from /usr/local/include/opencv2/core.hpp:59,
                 from /usr/local/include/opencv2/core/core.hpp:48,
                 from src/caffe/util/io.cpp:6:
/usr/local/include/opencv2/core/mat.inl.hpp:686:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::Mat&)
 Mat& Mat::operator = (const Mat& m)
      ^
/usr/local/include/opencv2/core/mat.inl.hpp:1346:6: note: candidate: cv::Mat& cv::Mat::operator=(cv::Mat)
 Mat& Mat::operator = (Mat&& m)
      ^
Makefile:591: recipe for target '.build_release/src/caffe/util/io.o' failed
make: *** [.build_release/src/caffe/util/io.o] Error 1

Can somebody help me with this problem?

OS: Ubuntu 16.04
cmake version 3.5.1
Cuda version: 10.0.130

Reply all
Reply to author
Forward
0 new messages