Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-2405

[C++] <functional> is missing in plasma/client.h

    XMLWordPrintableJSON

Details

    Description

      I got the following compile error:

      In file included from /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:20:0:
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:363:32: error: ‘function’ in namespace ‘std’ does not name a template type
                           const std::function<std::shared_ptr<Buffer>(
                                      ^~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:363:40: error: expected ‘,’ or ‘...’ before ‘<’ token
                           const std::function<std::shared_ptr<Buffer>(
                                              ^
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:276:8: error: prototype for ‘arrow::Status plasma::PlasmaClient::GetBuffers(const ObjectID*, int64_t, int64_t, const std::function<std::shared_ptr<arrow::Buffer>(const plasma::UniqueID&, const std::shared_ptr<arrow::Buffer>&)>&, plasma::ObjectBuffer*)’ does not match any in class ‘plasma::PlasmaClient’
       Status PlasmaClient::GetBuffers(
              ^~~~~~~~~~~~
      In file included from /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:20:0:
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:362:10: error: candidate is: arrow::Status plasma::PlasmaClient::GetBuffers(const ObjectID*, int64_t, int64_t, int)
         Status GetBuffers(const ObjectID* object_ids, int64_t num_objects, int64_t timeout_ms,
                ^~~~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc: In member function ‘arrow::Status plasma::PlasmaClient::Get(const std::vector<plasma::UniqueID>&, int64_t, std::vector<plasma::ObjectBuffer>*)’:
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:410:85: error: no matching function for call to ‘plasma::PlasmaClient::GetBuffers(const value_type*, const size_t&, int64_t&, const plasma::PlasmaClient::Get(const std::vector<plasma::UniqueID>&, int64_t, std::vector<plasma::ObjectBuffer>*)::<lambda(const ObjectID&, const std::shared_ptr<arrow::Buffer>&)>&, __gnu_cxx::__alloc_traits<std::allocator<plasma::ObjectBuffer> >::value_type*)’
         return GetBuffers(&object_ids[0], num_objects, timeout_ms, wrap_buffer, &(*out)[0]);
                                                                                           ^
      In file included from /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:20:0:
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:362:10: note: candidate: arrow::Status plasma::PlasmaClient::GetBuffers(const ObjectID*, int64_t, int64_t, int)
         Status GetBuffers(const ObjectID* object_ids, int64_t num_objects, int64_t timeout_ms,
                ^~~~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:362:10: note:   candidate expects 4 arguments, 5 provided
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc: In member function ‘arrow::Status plasma::PlasmaClient::Get(const ObjectID*, int64_t, int64_t, plasma::ObjectBuffer*)’:
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:417:74: error: no matching function for call to ‘plasma::PlasmaClient::GetBuffers(const ObjectID*&, int64_t&, int64_t&, const plasma::PlasmaClient::Get(const ObjectID*, int64_t, int64_t, plasma::ObjectBuffer*)::<lambda(const ObjectID&, const std::shared_ptr<arrow::Buffer>&)>&, plasma::ObjectBuffer*&)’
         return GetBuffers(object_ids, num_objects, timeout_ms, wrap_buffer, out);
                                                                                ^
      In file included from /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.cc:20:0:
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:362:10: note: candidate: arrow::Status plasma::PlasmaClient::GetBuffers(const ObjectID*, int64_t, int64_t, int)
         Status GetBuffers(const ObjectID* object_ids, int64_t num_objects, int64_t timeout_ms,
                ^~~~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/plasma/client.h:362:10: note:   candidate expects 4 arguments, 5 provided
      

      I don't know why it's not occurred on Travis CI.

      Attachments

        Issue Links

          Activity

            People

              kou Kouhei Sutou
              kou Kouhei Sutou
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: