davisking / dlib

A toolkit for making real world machine learning and data analysis applications in C++
http://dlib.net
Boost Software License 1.0
13.43k stars 3.37k forks source link

Latest dlib python fails to compile on Raspberry Pi 3. #1361

Closed abhiTronix closed 6 years ago

abhiTronix commented 6 years ago

Expected Behavior

dlib python should compile as previous builds.

Current Behavior

dlib python build fails at 100% everytime with error.

running bdist_egg
running egg_info
writing dlib.egg-info/PKG-INFO
writing top-level names to dlib.egg-info/top_level.txt
writing dependency_links to dlib.egg-info/dependency_links.txt
package init file 'dlib/__init__.py' not found (or not a regular file)
reading manifest file 'dlib.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'dlib.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-armv7l/egg
running install_lib
running build_py
running build_ext
Building extension for Python 2.7.13 (default, Nov 24 2017, 17:33:09)
Invoking CMake setup: 'cmake /home/pi/dlib/tools/python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/pi/dlib/build/lib.linux-armv7l-2.7 -DPYTHON_EXECUTABLE=/usr/bin/python -DCMAKE_CXX_FLAGS=-O3 -mfpu=neon-vfpv4 -fprofile-generate -DCMAKE_BUILD_TYPE=Release'
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.13")
-- Found PythonLibs: /usr/lib/arm-linux-gnueabihf/libpython2.7.so
-- Performing Test HAS_CPP14_FLAG
-- Performing Test HAS_CPP14_FLAG - Success
-- pybind11 v2.2.2
-- Using CMake version: 3.7.2
-- Compiling dlib version: 19.13.99
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib/arm-linux-gnueabihf/libX11.so
-- Looking for png_create_read_struct
-- Looking for png_create_read_struct - found
-- Looking for jpeg_read_header
-- Looking for jpeg_read_header - found
-- Searching for BLAS and LAPACK
-- Searching for BLAS and LAPACK
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")
-- Checking for module 'cblas'
--   No package 'cblas' found
-- Checking for module 'lapack'
--   Found lapack, version 3.10.3
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void*
-- Check size of void* - done
-- Found OpenBLAS library
-- Looking for sgetrf_single
-- Looking for sgetrf_single - found
-- Using OpenBLAS's built in LAPACK
-- Looking for cblas_ddot
-- Looking for cblas_ddot - found
-- Looking for sgesv
-- Looking for sgesv - not found
-- Looking for sgesv_
-- Looking for sgesv_ - not found
CUDA_TOOLKIT_ROOT_DIR not found or specified
-- Could NOT find CUDA (missing:  CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) (Required is at least version "7.5")
-- Disabling CUDA support for dlib.  DLIB WILL NOT USE CUDA
-- C++11 activated.
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- LTO enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/dlib/build/temp.linux-armv7l-2.7
Invoking CMake build: 'cmake --build . --config Release -- -j1'
Scanning dependencies of target dlib
[  1%] Building CXX object dlib_build/CMakeFiles/dlib.dir/base64/base64_kernel_1.cpp.o
[  2%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bigint/bigint_kernel_1.cpp.o
[  3%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bigint/bigint_kernel_2.cpp.o
[  4%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bit_stream/bit_stream_kernel_1.cpp.o
[  5%] Building CXX object dlib_build/CMakeFiles/dlib.dir/entropy_decoder/entropy_decoder_kernel_1.cpp.o
[  7%] Building CXX object dlib_build/CMakeFiles/dlib.dir/entropy_decoder/entropy_decoder_kernel_2.cpp.o
[  8%] Building CXX object dlib_build/CMakeFiles/dlib.dir/entropy_encoder/entropy_encoder_kernel_1.cpp.o
[  9%] Building CXX object dlib_build/CMakeFiles/dlib.dir/entropy_encoder/entropy_encoder_kernel_2.cpp.o
[ 10%] Building CXX object dlib_build/CMakeFiles/dlib.dir/md5/md5_kernel_1.cpp.o
[ 11%] Building CXX object dlib_build/CMakeFiles/dlib.dir/tokenizer/tokenizer_kernel_1.cpp.o
[ 13%] Building CXX object dlib_build/CMakeFiles/dlib.dir/unicode/unicode.cpp.o
[ 14%] Building CXX object dlib_build/CMakeFiles/dlib.dir/data_io/image_dataset_metadata.cpp.o
In file included from /usr/include/c++/6/vector:63:0,
                 from /home/pi/dlib/dlib/data_io/image_dataset_metadata.h:7,
                 from /home/pi/dlib/dlib/data_io/image_dataset_metadata.cpp:6:
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const dlib::image_dataset_metadata::box*, std::vector<dlib::image_dataset_metadata::box> >; _ForwardIterator = dlib::image_dataset_metadata::box*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::image_dataset_metadata::box*, std::vector<dlib::image_dataset_metadata::box> >’ will change in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::image_dataset_metadata::box*, std::vector<dlib::image_dataset_metadata::box> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = dlib::image_dataset_metadata::box; _Alloc = std::allocator<dlib::image_dataset_metadata::box>]’:
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::image_dataset_metadata::box*, std::vector<dlib::image_dataset_metadata::box> >’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
/usr/include/c++/6/bits/stl_uninitialized.h: In member function ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = dlib::image_dataset_metadata::image; _Alloc = std::allocator<dlib::image_dataset_metadata::image>]’:
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::image_dataset_metadata::box*, std::vector<dlib::image_dataset_metadata::box> >’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
[ 15%] Building CXX object dlib_build/CMakeFiles/dlib.dir/data_io/mnist.cpp.o
[ 16%] Building CXX object dlib_build/CMakeFiles/dlib.dir/global_optimization/global_function_search.cpp.o
In file included from /usr/include/c++/6/algorithm:62:0,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/../algs.h:106,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/matrix_exp.h:6,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/matrix.h:6,
                 from /home/pi/dlib/dlib/global_optimization/../matrix.h:6,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:8,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_algo.h: In function ‘_RandomAccessIterator std::__find_if(_RandomAccessIterator, _RandomAccessIterator, _Predicate, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >; _Predicate = __gnu_cxx::__ops::_Iter_equals_val<const dlib::gopt_impl::outstanding_function_eval_request>]’:
/usr/include/c++/6/bits/stl_algo.h:112:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
     ^~~~~~~~~
/usr/include/c++/6/bits/stl_algo.h:112:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_algo.h: In function ‘_IIter std::find(_IIter, _IIter, const _Tp&) [with _IIter = __gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >; _Tp = dlib::gopt_impl::outstanding_function_eval_request]’:
/usr/include/c++/6/bits/stl_algo.h:3784:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
     find(_InputIterator __first, _InputIterator __last,
     ^~~~
/usr/include/c++/6/bits/stl_algo.h:3784:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_algo.h:162:43: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
          std::__iterator_category(__first));
                                           ^
In file included from /usr/include/c++/6/vector:69:0,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:7,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_insert_aux(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {std::pair<unsigned int, double>}; _Tp = std::pair<unsigned int, double>; _Alloc = std::allocator<std::pair<unsigned int, double> >]’:
/usr/include/c++/6/bits/vector.tcc:321:7: note: parameter passing for argument of type ‘std::vector<std::pair<unsigned int, double> >::iterator {aka __gnu_cxx::__normal_iterator<std::pair<unsigned int, double>*, std::vector<std::pair<unsigned int, double> > >}’ will change in GCC 7.1
       vector<_Tp, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/vector.tcc: In member function ‘std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::emplace(std::vector<_Tp, _Alloc>::const_iterator, _Args&& ...) [with _Args = {std::pair<unsigned int, double>}; _Tp = std::pair<unsigned int, double>; _Alloc = std::allocator<std::pair<unsigned int, double> >]’:
/usr/include/c++/6/bits/vector.tcc:301:7: note: parameter passing for argument of type ‘std::vector<std::pair<unsigned int, double> >::const_iterator {aka __gnu_cxx::__normal_iterator<const std::pair<unsigned int, double>*, std::vector<std::pair<unsigned int, double> > >}’ will change in GCC 7.1
       vector<_Tp, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/vector.tcc:301:7: note: parameter passing for argument of type ‘std::vector<std::pair<unsigned int, double> >::const_iterator {aka __gnu_cxx::__normal_iterator<const std::pair<unsigned int, double>*, std::vector<std::pair<unsigned int, double> > >}’ will change in GCC 7.1
/usr/include/c++/6/bits/vector.tcc:313:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<std::pair<unsigned int, double>*, std::vector<std::pair<unsigned int, double> > >’ will change in GCC 7.1
    _M_insert_aux(begin() + (__position - cbegin()),
    ^~~~~~~~~~~~~
/usr/include/c++/6/bits/vector.tcc: In member function ‘std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::_M_erase(std::vector<_Tp, _Alloc>::iterator) [with _Tp = dlib::gopt_impl::outstanding_function_eval_request; _Alloc = std::allocator<dlib::gopt_impl::outstanding_function_eval_request>]’:
/usr/include/c++/6/bits/vector.tcc:141:5: note: parameter passing for argument of type ‘std::vector<dlib::gopt_impl::outstanding_function_eval_request>::iterator {aka __gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >}’ will change in GCC 7.1
     vector<_Tp, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/vector.tcc:141:5: note: parameter passing for argument of type ‘std::vector<dlib::gopt_impl::outstanding_function_eval_request>::iterator {aka __gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >}’ will change in GCC 7.1
/usr/include/c++/6/bits/vector.tcc: In function ‘typename dlib::disable_if<dlib::is_matrix<image_type> >::type dlib::assign(T&, const dlib::matrix_exp<src_exp>&) [with T = std::vector<std::pair<unsigned int, double> >; EXP = dlib::matrix_op<dlib::op_colm2<dlib::matrix<double, 0l, 1l> > >]’:
/usr/include/c++/6/bits/vector.tcc:313:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<std::pair<unsigned int, double>*, std::vector<std::pair<unsigned int, double> > >’ will change in GCC 7.1
    _M_insert_aux(begin() + (__position - cbegin()),
    ^~~~~~~~~~~~~
/usr/include/c++/6/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/6/bits/vector.tcc:449:5: note: parameter passing for argument of type ‘std::vector<double>::iterator {aka __gnu_cxx::__normal_iterator<double*, std::vector<double> >}’ will change in GCC 7.1
     vector<_Tp, _Alloc>::
     ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/vector:64:0,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:7,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_vector.h: In member function ‘void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/6/bits/stl_vector.h:1055:2: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’ will change in GCC 7.1
  _M_fill_insert(begin() + __offset, __n, __x);
  ^~~~~~~~~~~~~~
In file included from /usr/include/c++/6/vector:63:0,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:7,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const dlib::function_evaluation*, std::vector<dlib::function_evaluation> >; _ForwardIterator = dlib::function_evaluation*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::function_evaluation*, std::vector<dlib::function_evaluation> >’ will change in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::function_evaluation*, std::vector<dlib::function_evaluation> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = dlib::function_evaluation; _Alloc = std::allocator<dlib::function_evaluation>]’:
/usr/include/c++/6/bits/stl_uninitialized.h:126:41: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::function_evaluation*, std::vector<dlib::function_evaluation> >’ will change in GCC 7.1
  __uninit_copy(__first, __last, __result);
                                         ^
In file included from /usr/include/c++/6/algorithm:62:0,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/../algs.h:106,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/matrix_exp.h:6,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/matrix.h:6,
                 from /home/pi/dlib/dlib/global_optimization/../matrix.h:6,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:8,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_algo.h: In destructor ‘dlib::function_evaluation_request::~function_evaluation_request()’:
/usr/include/c++/6/bits/stl_algo.h:162:43: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
          std::__iterator_category(__first));
                                           ^
In file included from /usr/include/c++/6/vector:64:0,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:7,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_vector.h:1148:58: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
       { return _M_erase(begin() + (__position - cbegin())); }
                                                          ^
In file included from /usr/include/c++/6/algorithm:62:0,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/../algs.h:106,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/matrix_exp.h:6,
                 from /home/pi/dlib/dlib/global_optimization/../matrix/matrix.h:6,
                 from /home/pi/dlib/dlib/global_optimization/../matrix.h:6,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:8,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_algo.h: In member function ‘void dlib::function_evaluation_request::set(double)’:
/usr/include/c++/6/bits/stl_algo.h:162:43: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
          std::__iterator_category(__first));
                                           ^
In file included from /usr/include/c++/6/vector:64:0,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.h:7,
                 from /home/pi/dlib/dlib/global_optimization/global_function_search.cpp:2:
/usr/include/c++/6/bits/stl_vector.h:1148:58: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::gopt_impl::outstanding_function_eval_request*, std::vector<dlib::gopt_impl::outstanding_function_eval_request> >’ will change in GCC 7.1
       { return _M_erase(begin() + (__position - cbegin())); }
                                                          ^
[ 17%] Building CXX object dlib_build/CMakeFiles/dlib.dir/filtering/kalman_filter.cpp.o
[ 19%] Building CXX object dlib_build/CMakeFiles/dlib.dir/test_for_odr_violations.cpp.o
[ 20%] Building CXX object dlib_build/CMakeFiles/dlib.dir/svm/auto.cpp.o
[ 21%] Building CXX object dlib_build/CMakeFiles/dlib.dir/sockets/sockets_kernel_1.cpp.o
[ 22%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bsp/bsp.cpp.o
In file included from /usr/include/c++/6/memory:65:0,
                 from /home/pi/dlib/dlib/bsp/bsp.h:8,
                 from /home/pi/dlib/dlib/bsp/bsp.cpp:6:
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*>; _ForwardIterator = dlib::impl1::thread_safe_message_queue::msg_wrap*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘std::move_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*>’ will change in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘std::move_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*>’ will change in GCC 7.1
In file included from /home/pi/dlib/dlib/bsp/../sockets/../threads.h:21:0,
                 from /home/pi/dlib/dlib/bsp/../sockets/sockets_kernel_2.h:36,
                 from /home/pi/dlib/dlib/bsp/../sockets/posix.h:4,
                 from /home/pi/dlib/dlib/bsp/../sockets.h:14,
                 from /home/pi/dlib/dlib/bsp/bsp.h:12,
                 from /home/pi/dlib/dlib/bsp/bsp.cpp:6:
/home/pi/dlib/dlib/bsp/../sockets/../threads/thread_function_extension.h: In constructor ‘dlib::thread_function::thread_function(F, T1, T2, T3, T4) [with F = void (*)(dlib::impl1::bsp_con*, long unsigned int, long unsigned int, dlib::impl1::thread_safe_message_queue&); T1 = dlib::impl1::bsp_con*; T2 = long unsigned int; T3 = long unsigned int; T4 = dlib::reference_wrapper<dlib::impl1::thread_safe_message_queue>]’:
/home/pi/dlib/dlib/bsp/../sockets/../threads/thread_function_extension.h:164:9: note: parameter passing for argument of type ‘dlib::reference_wrapper<dlib::impl1::thread_safe_message_queue ’ will change in GCC 7.1
         thread_function (
         ^~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/queue:62:0,
                 from /home/pi/dlib/dlib/bsp/bsp.h:9,
                 from /home/pi/dlib/dlib/bsp/bsp.cpp:6:
/usr/include/c++/6/bits/stl_heap.h: In function ‘void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >; _Distance = int; _Tp = dlib::impl1::thread_safe_message_queue::msg_wrap; _Compare = __gnu_cxx::__ops::_Iter_comp_val<std::less<dlib::impl1::thread_safe_message_queue::msg_wrap> >]’:
/usr/include/c++/6/bits/stl_heap.h:124:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
     __push_heap(_RandomAccessIterator __first,
     ^~~~~~~~~~~
/usr/include/c++/6/bits/stl_heap.h: In function ‘void std::push_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >; _Compare = std::less<dlib::impl1::thread_safe_message_queue::msg_wrap>]’:
/usr/include/c++/6/bits/stl_heap.h:185:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
     ^~~~~~~~~
/usr/include/c++/6/bits/stl_heap.h:185:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h: In function ‘void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >; _Distance = int; _Tp = dlib::impl1::thread_safe_message_queue::msg_wrap; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<std::less<dlib::impl1::thread_safe_message_queue::msg_wrap> >]’:
/usr/include/c++/6/bits/stl_heap.h:209:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
     ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_heap.h: In function ‘void std::__pop_heap(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<std::less<dlib::impl1::thread_safe_message_queue::msg_wrap> >]’:
/usr/include/c++/6/bits/stl_heap.h:237:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
     ^~~~~~~~~~
/usr/include/c++/6/bits/stl_heap.h:237:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h:237:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h: In member function ‘void std::priority_queue<_Tp, _Sequence, _Compare>::pop() [with _Tp = dlib::impl1::thread_safe_message_queue::msg_wrap; _Sequence = std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> >; _Compare = std::less<dlib::impl1::thread_safe_message_queue::msg_wrap>]’:
/usr/include/c++/6/bits/stl_heap.h:312:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
    std::__pop_heap(__first, __last, __last,
    ^~~
/usr/include/c++/6/bits/stl_heap.h:312:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h:312:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h: In function ‘void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<std::less<dlib::impl1::thread_safe_message_queue::msg_wrap> >]’:
/usr/include/c++/6/bits/stl_heap.h:319:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
     ^~~~~~~~~~~
/usr/include/c++/6/bits/stl_heap.h:319:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h: In constructor ‘std::priority_queue<_Tp, _Sequence, _Compare>::priority_queue(const _Compare&, _Sequence&&) [with _Tp = dlib::impl1::thread_safe_message_queue::msg_wrap; _Sequence = std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> >; _Compare = std::less<dlib::impl1::thread_safe_message_queue::msg_wrap>]’:
/usr/include/c++/6/bits/stl_heap.h:388:7: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
       std::__make_heap(__first, __last,
       ^~~
/usr/include/c++/6/bits/stl_heap.h: In constructor ‘dlib::impl1::thread_safe_message_queue::thread_safe_message_queue()’:
/usr/include/c++/6/bits/stl_heap.h:388:7: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
       std::__make_heap(__first, __last,
       ^~~
/usr/include/c++/6/bits/stl_heap.h: In constructor ‘dlib::bsp_context::bsp_context(long unsigned int, dlib::impl1::map_id_to_con&)’:
/usr/include/c++/6/bits/stl_heap.h:388:7: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
       std::__make_heap(__first, __last,
       ^~~
/usr/include/c++/6/bits/stl_heap.h: In member function ‘void dlib::bsp_context::close_all_connections_gracefully()’:
/usr/include/c++/6/bits/stl_heap.h:312:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
    std::__pop_heap(__first, __last, __last,
    ^~~
/usr/include/c++/6/bits/stl_heap.h:312:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_heap.h:312:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<dlib::impl1::thread_safe_message_queue::msg_wrap*, std::vector<dlib::impl1::thread_safe_message_queue::msg_wrap, std::allocator<dlib::impl1::thread_safe_message_queue::msg_wrap> > >’ will change in GCC 7.1
[ 23%] Building CXX object dlib_build/CMakeFiles/dlib.dir/dir_nav/dir_nav_kernel_1.cpp.o
[ 25%] Building CXX object dlib_build/CMakeFiles/dlib.dir/dir_nav/dir_nav_kernel_2.cpp.o
[ 26%] Building CXX object dlib_build/CMakeFiles/dlib.dir/dir_nav/dir_nav_extensions.cpp.o
[ 27%] Building CXX object dlib_build/CMakeFiles/dlib.dir/linker/linker_kernel_1.cpp.o
[ 28%] Building CXX object dlib_build/CMakeFiles/dlib.dir/logger/extra_logger_headers.cpp.o
[ 29%] Building CXX object dlib_build/CMakeFiles/dlib.dir/logger/logger_kernel_1.cpp.o
[ 30%] Building CXX object dlib_build/CMakeFiles/dlib.dir/logger/logger_config_file.cpp.o
[ 32%] Building CXX object dlib_build/CMakeFiles/dlib.dir/misc_api/misc_api_kernel_1.cpp.o
[ 33%] Building CXX object dlib_build/CMakeFiles/dlib.dir/misc_api/misc_api_kernel_2.cpp.o
[ 34%] Building CXX object dlib_build/CMakeFiles/dlib.dir/sockets/sockets_extensions.cpp.o
[ 35%] Building CXX object dlib_build/CMakeFiles/dlib.dir/sockets/sockets_kernel_2.cpp.o
[ 36%] Building CXX object dlib_build/CMakeFiles/dlib.dir/sockstreambuf/sockstreambuf.cpp.o
[ 38%] Building CXX object dlib_build/CMakeFiles/dlib.dir/sockstreambuf/sockstreambuf_unbuffered.cpp.o
[ 39%] Building CXX object dlib_build/CMakeFiles/dlib.dir/server/server_kernel.cpp.o
[ 40%] Building CXX object dlib_build/CMakeFiles/dlib.dir/server/server_iostream.cpp.o
[ 41%] Building CXX object dlib_build/CMakeFiles/dlib.dir/server/server_http.cpp.o
[ 42%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/multithreaded_object_extension.cpp.o
[ 44%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/threaded_object_extension.cpp.o
[ 45%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/threads_kernel_1.cpp.o
[ 46%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/threads_kernel_2.cpp.o
[ 47%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/threads_kernel_shared.cpp.o
[ 48%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/thread_pool_extension.cpp.o
[ 50%] Building CXX object dlib_build/CMakeFiles/dlib.dir/threads/async.cpp.o
[ 51%] Building CXX object dlib_build/CMakeFiles/dlib.dir/timer/timer.cpp.o
[ 52%] Building CXX object dlib_build/CMakeFiles/dlib.dir/stack_trace.cpp.o
[ 53%] Building CXX object dlib_build/CMakeFiles/dlib.dir/cuda/cpu_dlib.cpp.o
[ 54%] Building CXX object dlib_build/CMakeFiles/dlib.dir/cuda/tensor_tools.cpp.o
[ 55%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/fonts.cpp.o
[ 57%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/widgets.cpp.o
In file included from /usr/include/c++/6/memory:65:0,
                 from /home/pi/dlib/dlib/gui_widgets/widgets.cpp:7:
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<dlib::perspective_display::overlay_line*>; _ForwardIterator = dlib::perspective_display::overlay_line*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘std::move_iterator<dlib::perspective_display::overlay_line*>’ will change in GCC 7.1
         __uninit_copy(_InputIterator __first, _InputIterator __last,
         ^~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘std::move_iterator<dlib::perspective_display::overlay_line*>’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >; _ForwardIterator = dlib::perspective_display::overlay_line*; bool _TrivialValueTypes = false]’:
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_uninitialized.h:68:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
In file included from /usr/include/c++/6/vector:69:0,
                 from /home/pi/dlib/dlib/gui_widgets/widgets.h:12,
                 from /home/pi/dlib/dlib/gui_widgets/widgets.cpp:9:
/usr/include/c++/6/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_range_insert(std::vector<_Tp, _Alloc>::iterator, _ForwardIterator, _ForwardIterator, std::forward_iterator_tag) [with _ForwardIterator = __gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >; _Tp = dlib::perspective_display::overlay_line; _Alloc = std::allocator<dlib::perspective_display::overlay_line>]’:
/usr/include/c++/6/bits/vector.tcc:616:7: note: parameter passing for argument of type ‘std::vector<dlib::perspective_display::overlay_line>::iterator {aka __gnu_cxx::__normal_iterator<dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >}’ will change in GCC 7.1
       vector<_Tp, _Alloc>::
       ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/vector.tcc:616:7: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/vector.tcc:616:7: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
In file included from /usr/include/c++/6/vector:64:0,
                 from /home/pi/dlib/dlib/gui_widgets/widgets.h:12,
                 from /home/pi/dlib/dlib/gui_widgets/widgets.cpp:9:
/usr/include/c++/6/bits/stl_vector.h: In member function ‘std::vector<_Tp, _Alloc>::iterator std::vector<_Tp, _Alloc>::insert(std::vector<_Tp, _Alloc>::const_iterator, _InputIterator, _InputIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >; <template-parameter-2-2> = void; _Tp = dlib::perspective_display::overlay_line; _Alloc = std::allocator<dlib::perspective_display::overlay_line>]’:
/usr/include/c++/6/bits/stl_vector.h:1096:9: note: parameter passing for argument of type ‘std::vector<dlib::perspective_display::overlay_line>::const_iterator {aka __gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >}’ will change in GCC 7.1
         insert(const_iterator __position, _InputIterator __first,
         ^~~~~~
/usr/include/c++/6/bits/stl_vector.h:1096:9: note: parameter passing for argument of type ‘std::vector<dlib::perspective_display::overlay_line>::const_iterator {aka __gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >}’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1096:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1096:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1096:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘std::vector<dlib::perspective_display::overlay_line>::iterator {aka __gnu_cxx::__normal_iterator<dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >}’ will change in GCC 7.1
    _M_range_insert(__pos, __first, __last, _IterCategory());
    ^~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h: In member function ‘void dlib::perspective_display::add_overlay(const std::vector<dlib::perspective_display::overlay_line>&)’:
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘std::vector<dlib::perspective_display::overlay_line>::iterator {aka __gnu_cxx::__normal_iterator<dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >}’ will change in GCC 7.1
    _M_range_insert(__pos, __first, __last, _IterCategory());
    ^~~~~~~~~~~~~~~
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
/usr/include/c++/6/bits/stl_vector.h:1375:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const dlib::perspective_display::overlay_line*, std::vector<dlib::perspective_display::overlay_line> >’ will change in GCC 7.1
[ 58%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/drawable.cpp.o
[ 59%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/canvas_drawing.cpp.o
[ 60%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/style.cpp.o
[ 61%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_widgets/base_widgets.cpp.o
[ 63%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_core/gui_core_kernel_1.cpp.o
[ 64%] Building CXX object dlib_build/CMakeFiles/dlib.dir/gui_core/gui_core_kernel_2.cpp.o
[ 65%] Building CXX object dlib_build/CMakeFiles/dlib.dir/image_loader/png_loader.cpp.o
[ 66%] Building CXX object dlib_build/CMakeFiles/dlib.dir/image_saver/save_png.cpp.o
[ 67%] Building CXX object dlib_build/CMakeFiles/dlib.dir/image_loader/jpeg_loader.cpp.o
[ 69%] Building CXX object dlib_build/CMakeFiles/dlib.dir/image_saver/save_jpeg.cpp.o
[ 70%] Linking CXX static library libdlib.a
[ 70%] Built target dlib
Scanning dependencies of target dlib_python
[ 71%] Building CXX object CMakeFiles/dlib_python.dir/src/dlib.cpp.o
[ 72%] Building CXX object CMakeFiles/dlib_python.dir/src/matrix.cpp.o
[ 73%] Building CXX object CMakeFiles/dlib_python.dir/src/vector.cpp.o
[ 75%] Building CXX object CMakeFiles/dlib_python.dir/src/svm_c_trainer.cpp.o
[ 76%] Building CXX object CMakeFiles/dlib_python.dir/src/svm_rank_trainer.cpp.o
[ 77%] Building CXX object CMakeFiles/dlib_python.dir/src/decision_functions.cpp.o
[ 78%] Building CXX object CMakeFiles/dlib_python.dir/src/other.cpp.o
[ 79%] Building CXX object CMakeFiles/dlib_python.dir/src/basic.cpp.o
[ 80%] Building CXX object CMakeFiles/dlib_python.dir/src/cca.cpp.o
[ 82%] Building CXX object CMakeFiles/dlib_python.dir/src/sequence_segmenter.cpp.o
[ 83%] Building CXX object CMakeFiles/dlib_python.dir/src/svm_struct.cpp.o
[ 84%] Building CXX object CMakeFiles/dlib_python.dir/src/image.cpp.o
[ 85%] Building CXX object CMakeFiles/dlib_python.dir/src/image2.cpp.o
[ 86%] Building CXX object CMakeFiles/dlib_python.dir/src/rectangles.cpp.o
[ 88%] Building CXX object CMakeFiles/dlib_python.dir/src/object_detection.cpp.o
[ 89%] Building CXX object CMakeFiles/dlib_python.dir/src/shape_predictor.cpp.o
[ 90%] Building CXX object CMakeFiles/dlib_python.dir/src/correlation_tracker.cpp.o
[ 91%] Building CXX object CMakeFiles/dlib_python.dir/src/face_recognition.cpp.o
[ 92%] Building CXX object CMakeFiles/dlib_python.dir/src/cnn_face_detector.cpp.o
[ 94%] Building CXX object CMakeFiles/dlib_python.dir/src/global_optimization.cpp.o
[ 95%] Building CXX object CMakeFiles/dlib_python.dir/src/image_dataset_metadata.cpp.o
[ 96%] Building CXX object CMakeFiles/dlib_python.dir/src/numpy_returns.cpp.o
[ 97%] Building CXX object CMakeFiles/dlib_python.dir/src/line.cpp.o
[ 98%] Building CXX object CMakeFiles/dlib_python.dir/src/gui.cpp.o
[100%] Linking CXX shared module /home/pi/dlib/build/lib.linux-armv7l-2.7/dlib.so
dlib_build/libdlib.a(auto.cpp.o): In function `std::pair<unsigned int, dlib::function_evaluation> dlib::impl::find_max_global<dlib::auto_train_rbf_classifier(std::vector<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>, std::allocator<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> > >, std::vector<double, std::allocator<double> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, bool)::{lambda(double, double, double)#1}>(dlib::thread_pool&, std::vector<dlib::auto_train_rbf_classifier(std::vector<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>, std::allocator<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> > >, std::vector<double, std::allocator<double> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, bool)::{lambda(double, double, double)#1}, std::allocator<dlib::thread_pool&> >&, std::vector<dlib::function_spec, std::allocator<std::vector<dlib::auto_train_rbf_classifier(std::vector<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>, std::allocator<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> > >, std::vector<double, std::allocator<double> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, bool)::{lambda(double, double, double)#1}, std::allocator<dlib::thread_pool&> >&> >, dlib::max_function_calls, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, double, double) [clone .constprop.518]':
auto.cpp:(.text+0x2b28): undefined reference to `vtable for dlib::mfp_kernel_1_base_class<0ul>::mp_impl_T<dlib::mfp_kernel_1_base_class<0ul>::mp_null<dlib::mfp_kernel_1_base_class<0ul>::dummy> >'
dlib_build/libdlib.a(auto.cpp.o): In function `dlib::bfp1_helpers::bound_function_helper_T<dlib::bfp1_helpers::bound_function_helper<std::pair<unsigned int, dlib::function_evaluation> dlib::impl::find_max_global<dlib::auto_train_rbf_classifier(std::vector<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>, std::allocator<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> > >, std::vector<double, std::allocator<double> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, bool)::{lambda(double, double, double)#1}>(dlib::thread_pool&, std::vector<dlib::auto_train_rbf_classifier(std::vector<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>, std::allocator<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> > >, std::vector<double, std::allocator<double> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, bool)::{lambda(double, double, double)#1}, std::allocator<dlib::thread_pool&> >&, std::vector<dlib::function_spec, std::allocator<std::vector<dlib::auto_train_rbf_classifier(std::vector<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout>, std::allocator<dlib::matrix<double, 0l, 1l, dlib::memory_manager_stateless_kernel_1<char>, dlib::row_major_layout> > >, std::vector<double, std::allocator<double> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, bool)::{lambda(double, double, double)#1}, std::allocator<dlib::thread_pool&> >&> >, dlib::max_function_calls, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >, double, double)::{lambda()#1}, void, void, void, void> >::clone(void*) const':
auto.cpp:(.text+0x3a44): undefined reference to `vtable for dlib::mfp_kernel_1_base_class<0ul>::mp_impl_T<dlib::mfp_kernel_1_base_class<0ul>::mp_null<dlib::mfp_kernel_1_base_class<0ul>::dummy> >'
dlib_build/libdlib.a(thread_pool_extension.cpp.o): In function `dlib::thread_pool_implementation::thread()':
thread_pool_extension.cpp:(.text+0x3880): undefined reference to `vtable for dlib::mfp_kernel_1_base_class<0ul>::mp_impl_T<dlib::mfp_kernel_1_base_class<0ul>::mp_null<dlib::mfp_kernel_1_base_class<0ul>::dummy> >'
dlib_build/libdlib.a(thread_pool_extension.cpp.o): In function `dlib::memory_manager_stateless_kernel_1<dlib::thread_pool_implementation::task_state_type>::allocate_array(unsigned int)':
thread_pool_extension.cpp:(.text._ZN4dlib33memory_manager_stateless_kernel_1INS_26thread_pool_implementation15task_state_typeEE14allocate_arrayEj[_ZN4dlib33memory_manager_stateless_kernel_1INS_26thread_pool_implementation15task_state_typeEE14allocate_arrayEj]+0x21c): undefined reference to `vtable for dlib::mfp_kernel_1_base_class<0ul>::mp_impl_T<dlib::mfp_kernel_1_base_class<0ul>::mp_null<dlib::mfp_kernel_1_base_class<0ul>::dummy> >'
dlib_build/libdlib.a(thread_pool_extension.cpp.o): In function `dlib::mfp_kernel_1_base_class<0ul>::clear()':
thread_pool_extension.cpp:(.text._ZN4dlib23mfp_kernel_1_base_classILm0EE5clearEv[_ZN4dlib23mfp_kernel_1_base_classILm0EE5clearEv]+0x218): undefined reference to `vtable for dlib::mfp_kernel_1_base_class<0ul>::mp_impl_T<dlib::mfp_kernel_1_base_class<0ul>::mp_null<dlib::mfp_kernel_1_base_class<0ul>::dummy> >'
dlib_build/libdlib.a(thread_pool_extension.cpp.o):thread_pool_extension.cpp:(.text._ZSt4swapIN4dlib26thread_pool_implementation15task_state_typeEENSt9enable_ifIXsrSt6__and_IJSt21is_move_constructibleIT_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SD_[_ZSt4swapIN4dlib26thread_pool_implementation15task_state_typeEENSt9enable_ifIXsrSt6__and_IJSt21is_move_constructibleIT_ESt18is_move_assignableIS6_EEE5valueEvE4typeERS6_SD_]+0x420): more undefined references to `vtable for dlib::mfp_kernel_1_base_class<0ul>::mp_impl_T<dlib::mfp_kernel_1_base_class<0ul>::mp_null<dlib::mfp_kernel_1_base_class<0ul>::dummy> >' follow
collect2: error: ld returned 1 exit status
CMakeFiles/dlib_python.dir/build.make:702: recipe for target '/home/pi/dlib/build/lib.linux-armv7l-2.7/dlib.so' failed
make[2]: *** [/home/pi/dlib/build/lib.linux-armv7l-2.7/dlib.so] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/dlib_python.dir/all' failed
make[1]: *** [CMakeFiles/dlib_python.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
  File "setup.py", line 257, in <module>
    'Topic :: Software Development',
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 109, in do_egg_install
    self.run_command('bdist_egg')
  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/bdist_egg.py", line 169, in run
    cmd = self.call_command('install_lib', warn_dir=0)
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/bdist_egg.py", line 155, in call_command
    self.run_command(cmdname)
  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install_lib.py", line 11, in run
    self.build()
  File "/usr/lib/python2.7/distutils/command/install_lib.py", line 111, in build
    self.run_command('build_ext')
  File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 133, in run
    self.build_extension(ext)
  File "setup.py", line 173, in build_extension
    subprocess.check_call(cmake_build, cwd=build_folder)
  File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', 'Release', '--', '-j1']' returned non-zero exit status 2

Steps to Reproduce

sudo python setup.py install --compiler-flags "-O3 -mfpu=neon-vfpv4 -fprofile-generate" Retried rebuilding it from scratch, but same error at 100%.

abhiTronix commented 6 years ago

Here is the CMakeError of the build:

/usr/bin/cc    -fPIE   -o CMakeFiles/cmTC_3796c.dir/CheckSymbolExists.c.o   -c /home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTC_3796c
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3796c.dir/link.txt --verbose=1
/usr/bin/cc       CMakeFiles/cmTC_3796c.dir/CheckSymbolExists.c.o  -o cmTC_3796c -rdynamic 
CMakeFiles/cmTC_3796c.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x48): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_3796c.dir/build.make:97: recipe for target 'cmTC_3796c' failed
make[1]: *** [cmTC_3796c] Error 1
make[1]: Leaving directory '/home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_3796c/fast' failed
make: *** [cmTC_3796c/fast] Error 2

File /home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_d6b85/fast"
/usr/bin/make -f CMakeFiles/cmTC_d6b85.dir/build.make CMakeFiles/cmTC_d6b85.dir/build
make[1]: Entering directory '/home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d6b85.dir/CheckFunctionExists.c.o
/usr/bin/cc    -DCHECK_FUNCTION_EXISTS=pthread_create -fPIE   -o CMakeFiles/cmTC_d6b85.dir/CheckFunctionExists.c.o   -c /usr/share/cmake-3.7/Modules/CheckFunctionExists.c
Linking C executable cmTC_d6b85
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d6b85.dir/link.txt --verbose=1
/usr/bin/cc   -DCHECK_FUNCTION_EXISTS=pthread_create    CMakeFiles/cmTC_d6b85.dir/CheckFunctionExists.c.o  -o cmTC_d6b85 -rdynamic -lpthreads 
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
CMakeFiles/cmTC_d6b85.dir/build.make:97: recipe for target 'cmTC_d6b85' failed
make[1]: *** [cmTC_d6b85] Error 1
make[1]: Leaving directory '/home/pi/dlib/build/temp.linux-armv7l-2.7/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_d6b85/fast' failed
make: *** [cmTC_d6b85/fast] Error 2 

Any Idea what is wrong???

davisking commented 6 years ago

That stuff seems unrelated to the error you originally posted. So no idea.

abhiTronix commented 6 years ago

Finally after 4 days of Recompiling , Reinstalling and Retesting i was able to find out the final solution.

@davisking I myself not able to figure out what problem really was (Latest dlib 19.13.99 confirmed not working on my Raspberry pi 3), building time is too long (seems to stuck at 100% and finally giving error as mentioned above), and not able to integrate Openblas library (that i self-compiled from source), also GCC optimizing flags not working too only -mfpu=neon seems to work .

falling back to dlib 19.13.0 (Stable) i was able to compile it properly and along with optimized Openblas (with Lapack) Library and GCC Neon optimization flags (currently available for Raspberry Pi) for Ultimate performance in facial Recognition.

Moreover i'm using OpenCV with Latest TBB support too (check it on my git) in which output is now reaching 25+ fps in face recognition with normal webcam on my Raspberry Pi 3 :).

Thankyou. I'm closing it now.