You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In a non-optimized build, the following compilation error occurs. It seems to be due to a call to sort() within src/sync.cpp. The custom comparator should have a const reference arguments according to C++ standard library requirements, but the provided one has non-constant reference arguments. I'm not sure why this only occurs in non-optimized builds... perhaps the function is optimized away otherwise since we're not using it?
In file included from third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:4:
In file included from third_party/librealsense2/librealsense-2.9.0/src/proc/synthetic-stream.h:6:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/processing.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/streaming.h:5:
In file included from third_party/librealsense2/librealsense-2.
9.0/src/core/options.h:8:
In file included from third_party/librealsense2/librealsense-2.9.0/src/types.h:23:
In file included from third_party/stl/gcc3/algorithm:12:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/algorithm:62:
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:214:11: error: no matching function for call to object of type '(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)'
if (_M_compare(__x, __x))
^~~~~~~~~~
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/predefined_ops.h:141:16: note: in instantiation of function template specialization 'std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)>::operator()<librealsense::frame_holder>' requested here
{ return bool(_M_comp(*__it, __val)); }
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_heap.h:129:42: note: in instantiation of function template specialization '__gnu_cxx::__ops::_Iter_comp_val<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> >::operator()<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, librealsense::frame_holder>' requested here
while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_heap.h:228:12: note: in instantiation of function template specialization 'std::__push_heap<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, long, librealsense::frame_holder, __gnu_cxx::__ops::_Iter_comp_val<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__push_heap(__first, __holeIndex, __topIndex,
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_heap.h:333:9: note: in instantiation of function template specialization 'std::__adjust_heap<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, long, librealsense::frame_holder, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__adjust_heap(__first, __parent, __len, _GLIBCXX_MOVE(__value),
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1707:12: note: in instantiation of function template specialization 'std::__make_heap<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__make_heap(__first, __middle, __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1966:12: note: in instantiation of function template specialization 'std::__heap_select<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__heap_select(__first, __middle, __last, __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1981:13: note: in instantiation of function template specialization 'std::__partial_sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__partial_sort(__first, __last, __last, __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:2001:9: note: in instantiation of function template specialization 'std::__introsort_loop<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__introsort_loop(__first, __last,
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:4751:12: note: in instantiation of function template specialization 'std::__sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__CheckedCompare(__comp)));
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:22: note: in instantiation of function template specialization 'std::sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, (lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)>' requested here
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: candidate function not viable: 1st argument ('const librealsense::frame_holder') would lose const qualifier
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: conversion candidate of type 'bool (*)(librealsense::frame_holder &, librealsense::frame_holder &)'
In file included from third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:4:
In file included from third_party/librealsense2/librealsense-2.9.0/src/proc/synthetic-stream.h:6:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/processing.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/streaming.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/options.h:8:
In file included from third_party/librealsense2/librealsense-2.9.0/src/types.h:23:
In file included from third_party/stl/gcc3/algorithm:12:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/algorithm:62:
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:216:11: error: no matching function for call to object of type '(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)'
if (_M_compare(__y, __y))
^~~~~~~~~~
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: candidate function not viable: 1st argument ('const librealsense::frame_holder') would lose const qualifier
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: conversion candidate of type 'bool (*)(librealsense::frame_holder &, librealsense::frame_holder &)'
In file included from third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:4:
In file included from third_party/librealsense2/librealsense-2.9.0/src/proc/synthetic-stream.h:6:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/processing.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/streaming.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/options.h:8:
In file included from third_party/librealsense2/librealsense-2.9.0/src/types.h:23:
In file included from third_party/stl/gcc3/algorithm:12:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/algorithm:62:
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:218:17: error: no matching function for call to object of type '(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)'
bool lt = _M_compare(__x, __y);
^~~~~~~~~~
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: candidate function not viable: 1st argument ('const librealsense::frame_holder') would lose const qualifier
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: conversion candidate of type 'bool (*)(librealsense::frame_holder &, librealsense::frame_holder &)'
In file included from third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:4:
In file included from third_party/librealsense2/librealsense-2.9.0/src/proc/synthetic-stream.h:6:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/processing.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/streaming.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/options.h:8:
In file included from third_party/librealsense2/librealsense-2.9.0/src/types.h:23:
In file included from third_party/stl/gcc3/algorithm:12:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/algorithm:62:
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:227:14: error: no matching function for call to object of type '(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)'
return _M_compare(__x, __y);
^~~~~~~~~~
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/predefined_ops.h:121:23: note: in instantiation of function template specialization 'std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)>::operator()<librealsense::frame_holder, librealsense::frame_holder>' requested here
{ return bool(_M_comp(*__it1, *__it2)); }
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1709:6: note: in instantiation of function template specialization '__gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> >::operator()<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > > >' requested here
if (__comp(__i, __first))
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1966:12: note: in instantiation of function template specialization 'std::__heap_select<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__heap_select(__first, __middle, __last, __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1981:13: note: in instantiation of function template specialization 'std::__partial_sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__partial_sort(__first, __last, __last, __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:2001:9: note: in instantiation of function template specialization 'std::__introsort_loop<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, long, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__introsort_loop(__first, __last,
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:4751:12: note: in instantiation of function template specialization 'std::__sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__CheckedCompare(__comp)));
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:22: note: in instantiation of function template specialization 'std::sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, (lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)>' requested here
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: candidate function not viable: 1st argument ('const librealsense::frame_holder') would lose const qualifier
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55: note: conversion candidate of type 'bool (*)(librealsense::frame_holder &, librealsense::frame_holder &)'
In file included from third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:4:
In file included from third_party/librealsense2/librealsense-2.9.0/src/proc/synthetic-stream.h:6:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/processing.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/streaming.h:5:
In file included from third_party/librealsense2/librealsense-2.9.0/src/core/options.h:5:
In file included from third_party/stl/gcc3/map:12:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/map:60:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_tree.h:61:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algobase.h:71:
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/predefined_ops.h:166:16: error: no matching function for call to object of type 'std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)>'
{ return bool(_M_comp(__val, *__it)); }
^~~~~~~
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1861:14: note: in instantiation of function template specialization '__gnu_cxx::__ops::_Val_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> >::operator()<librealsense::frame_holder, __gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > > >' requested here
while (__comp(__val, __next))
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1888:11: note: in instantiation of function template specialization 'std::__unguarded_linear_insert<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Val_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__unguarded_linear_insert(__i,
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:1918:9: note: in instantiation of function template specialization 'std::__insertion_sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:2004:9: note: in instantiation of function template specialization 'std::__final_insertion_sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__final_insertion_sort(__first, __last, __comp);
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:4751:12: note: in instantiation of function template specialization 'std::__sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, __gnu_cxx::__ops::_Iter_comp_iter<std::_CheckedCompare<(lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)> > >' requested here
std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__CheckedCompare(__comp)));
^
third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:22: note: in instantiation of function template specialization 'std::sort<__gnu_cxx::__normal_iterator<librealsense::frame_holder *, std::vector<librealsense::frame_holder, std::allocator<librealsense::frame_holder> > >, (lambda at third_party/librealsense2/librealsense-2.9.0/src/sync.cpp:323:55)>' requested here
std::sort(match.begin(), match.end(), [](frame_holder& f1, frame_holder& f2)
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:213:10: note: candidate template ignored: substitution failure [with _Tp = librealsense::frame_holder]
bool operator()(const _Tp& __x, const _Tp& __y) {
^
third_party/crosstool/v18/stable/toolchain/bin/../lib/gcc/x86_64-grtev4-linux-gnu/4.9.x-google/../../../../x86_64-grtev4-linux-gnu/include/c++/4.9.x-google/bits/stl_algo.h:226:10: note: candidate template ignored: substitution failure [with _Tp1 = librealsense::frame_holder, _Tp2 = librealsense::frame_holder]
bool operator()(const _Tp1& __x, const _Tp2& __y) {
^
5 errors generated.
The text was updated successfully, but these errors were encountered:
Issue Description
In a non-optimized build, the following compilation error occurs. It seems to be due to a call to sort() within src/sync.cpp. The custom comparator should have a const reference arguments according to C++ standard library requirements, but the provided one has non-constant reference arguments. I'm not sure why this only occurs in non-optimized builds... perhaps the function is optimized away otherwise since we're not using it?
The attached patch fixes this by making the comparator function use const reference arguments:
realsense_non_optimized_compilation_fix.patch.txt
Compilation error:
The text was updated successfully, but these errors were encountered: