Intel realsense R200: Errors when running ‘make’

I am trying to install the libraries necessaries to run Intel Realsense R200 in my Linux Mint distribution. For that I follow the steps defined under this link: https://github.com/IntelRealSense/librealsense/blob/v1.12.1/doc/installation.md. Everything works fine till I execute on step 5 the command make && sudo make install. Then I get the output showed below. Does anyone know how to solve this so that I can finish the installation? Thanks in advance.

In file included from /home/xxx/Software/librealsense/src/archive.h:8,
                 from /home/xxx/Software/librealsense/src/archive.cpp:2:
/home/xxx/Software/librealsense/src/types.h:577:14: error: ‘function’ in namespace ‘std’ does not name a template type
  577 |         std::function<void()> continuation;
      |              ^~~~~~~~
In file included from /home/xxx/Software/librealsense/src/archive.h:8,
                 from /home/xxx/Software/librealsense/src/archive.cpp:2:
/home/xxx/Software/librealsense/src/types.h:25:1: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’?
   24 | #include <algorithm>
  +++ |+#include <functional>
   25 | 
In file included from /home/xxx/Software/librealsense/src/archive.h:8,
                 from /home/xxx/Software/librealsense/src/archive.cpp:2:
/home/xxx/Software/librealsense/src/types.h:585:50: error: expected ‘)’ before ‘<’ token
  585 |         explicit frame_continuation(std::function<void()> continuation, const void* protected_data) : continuation(continuation), protected_data(protected_data) {}
      |                                    ~             ^
      |                                                  )
/home/xxx/Software/librealsense/src/types.h: In constructor ‘rsimpl::frame_continuation::frame_continuation()’:
/home/xxx/Software/librealsense/src/types.h:583:32: error: class ‘rsimpl::frame_continuation’ does not have any field named ‘continuation’
  583 |         frame_continuation() : continuation([]() {}) {}
      |                                ^~~~~~~~~~~~
/home/xxx/Software/librealsense/src/types.h: In constructor ‘rsimpl::frame_continuation::frame_continuation(rsimpl::frame_continuation&&)’:
/home/xxx/Software/librealsense/src/types.h:588:59: error: class ‘rsimpl::frame_continuation’ does not have any field named ‘continuation’
  588 |         frame_continuation(frame_continuation && other) : continuation(std::move(other.continuation)), protected_data(other.protected_data)
      |                                                           ^~~~~~~~~~~~
/home/xxx/Software/librealsense/src/types.h:588:88: error: ‘class rsimpl::frame_continuation’ has no member named ‘continuation’; did you mean ‘frame_continuation’?
  588 |         frame_continuation(frame_continuation && other) : continuation(std::move(other.continuation)), protected_data(other.protected_data)
      |                                                                                        ^~~~~~~~~~~~
      |                                                                                        frame_continuation
/home/xxx/Software/librealsense/src/types.h:590:19: error: ‘class rsimpl::frame_continuation’ has no member named ‘continuation’; did you mean ‘frame_continuation’?
  590 |             other.continuation = []() {};
      |                   ^~~~~~~~~~~~
      |                   frame_continuation
/home/xxx/Software/librealsense/src/types.h: In member function ‘void rsimpl::frame_continuation::operator()()’:
/home/xxx/Software/librealsense/src/types.h:596:13: error: ‘continuation’ was not declared in this scope; did you mean ‘frame_continuation’?
  596 |             continuation();
      |             ^~~~~~~~~~~~
      |             frame_continuation
/home/xxx/Software/librealsense/src/types.h: In member function ‘void rsimpl::frame_continuation::reset()’:
/home/xxx/Software/librealsense/src/types.h:604:13: error: ‘continuation’ was not declared in this scope; did you mean ‘frame_continuation’?
  604 |             continuation = [](){};
      |             ^~~~~~~~~~~~
      |             frame_continuation
/home/xxx/Software/librealsense/src/types.h: In member function ‘rsimpl::frame_continuation& rsimpl::frame_continuation::operator=(rsimpl::frame_continuation&&)’:
/home/xxx/Software/librealsense/src/types.h:611:13: error: ‘continuation’ was not declared in this scope; did you mean ‘frame_continuation’?
  611 |             continuation();
      |             ^~~~~~~~~~~~
      |             frame_continuation
/home/xxx/Software/librealsense/src/types.h:613:34: error: ‘class rsimpl::frame_continuation’ has no member named ‘continuation’; did you mean ‘frame_continuation’?
  613 |             continuation = other.continuation;
      |                                  ^~~~~~~~~~~~
      |                                  frame_continuation
/home/xxx/Software/librealsense/src/types.h:614:19: error: ‘class rsimpl::frame_continuation’ has no member named ‘continuation’; did you mean ‘frame_continuation’?
  614 |             other.continuation = []() {};
      |                   ^~~~~~~~~~~~
      |                   frame_continuation
/home/xxx/Software/librealsense/src/types.h: In destructor ‘rsimpl::frame_continuation::~frame_continuation()’:
/home/xxx/Software/librealsense/src/types.h:621:13: error: ‘continuation’ was not declared in this scope; did you mean ‘frame_continuation’?
  621 |             continuation();
      |             ^~~~~~~~~~~~
      |             frame_continuation
/home/xxx/Software/librealsense/src/types.h: At global scope:
/home/xxx/Software/librealsense/src/types.h:630:44: error: expected ‘)’ before ‘<’ token
  630 |         calibration_validator(std::function<bool(rs_stream, rs_stream)> extrinsic_validator,
      |                              ~             ^
      |                                            )
/home/xxx/Software/librealsense/src/types.h:638:14: error: ‘function’ in namespace ‘std’ does not name a template type
  638 |         std::function<bool(rs_stream from_stream, rs_stream to_stream)> extrinsic_validator;
      |              ^~~~~~~~
/home/xxx/Software/librealsense/src/types.h:638:9: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’?
  638 |         std::function<bool(rs_stream from_stream, rs_stream to_stream)> extrinsic_validator;
      |         ^~~
/home/xxx/Software/librealsense/src/types.h:639:14: error: ‘function’ in namespace ‘std’ does not name a template type
  639 |         std::function<bool(rs_stream stream)> intrinsic_validator;
      |              ^~~~~~~~
/home/xxx/Software/librealsense/src/types.h:639:9: note: ‘std::function’ is defined in header ‘<functional>’; did you forget to ‘#include <functional>’?
  639 |         std::function<bool(rs_stream stream)> intrinsic_validator;
      |         ^~~
make[2]: *** [CMakeFiles/realsense.dir/build.make:63: CMakeFiles/realsense.dir/src/archive.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:189: CMakeFiles/realsense.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

Leave a Comment