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

[C++] Compilation error on Ubuntu 18.04

    XMLWordPrintableJSON

Details

    Description

      See Crossbow build logs here:

      https://github.com/ursacomputing/crossbow/runs/5211900067?check_suite_focus=true#step:5:1389

      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc: In member function 'arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::Visit(const arrow::StringScalar&)':
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:469:78: error: no matching function for call to 'arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(<unresolved overloaded function type>, const arrow::StringScalar&)'
         Status Visit(const StringScalar& s) { return FromBuffer(&Lit::set_string, s); }
                                                                                    ^
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note: candidate: template<class ScalarWithBufferValue> arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(void (substrait::Expression_Literal::*)(std::__cxx11::string&&), const ScalarWithBufferValue&)
         Status FromBuffer(void (substrait::Expression::Literal::*set)(std::string&&),
                ^~~~~~~~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note:   template argument deduction/substitution failed:
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:469:59: note:   cannot convert '& substrait::Expression_Literal::set_string' (type '<unresolved overloaded function type>') to type 'void (substrait::Expression_Literal::*)(std::__cxx11::string&&) {aka void (substrait::Expression_Literal::*)(std::__cxx11::basic_string<char>&&)}'
         Status Visit(const StringScalar& s) { return FromBuffer(&Lit::set_string, s); }
                                                                 ^~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc: In member function 'arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::Visit(const arrow::BinaryScalar&)':
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:470:78: error: no matching function for call to 'arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(<unresolved overloaded function type>, const arrow::BinaryScalar&)'
         Status Visit(const BinaryScalar& s) { return FromBuffer(&Lit::set_binary, s); }
                                                                                    ^
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note: candidate: template<class ScalarWithBufferValue> arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(void (substrait::Expression_Literal::*)(std::__cxx11::string&&), const ScalarWithBufferValue&)
         Status FromBuffer(void (substrait::Expression::Literal::*set)(std::string&&),
                ^~~~~~~~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note:   template argument deduction/substitution failed:
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:470:59: note:   cannot convert '& substrait::Expression_Literal::set_binary' (type '<unresolved overloaded function type>') to type 'void (substrait::Expression_Literal::*)(std::__cxx11::string&&) {aka void (substrait::Expression_Literal::*)(std::__cxx11::basic_string<char>&&)}'
         Status Visit(const BinaryScalar& s) { return FromBuffer(&Lit::set_binary, s); }
                                                                 ^~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc: In member function 'arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::Visit(const arrow::FixedSizeBinaryScalar&)':
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:473:48: error: no matching function for call to 'arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(<unresolved overloaded function type>, const arrow::FixedSizeBinaryScalar&)'
           return FromBuffer(&Lit::set_fixed_binary, s);
                                                      ^
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note: candidate: template<class ScalarWithBufferValue> arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(void (substrait::Expression_Literal::*)(std::__cxx11::string&&), const ScalarWithBufferValue&)
         Status FromBuffer(void (substrait::Expression::Literal::*set)(std::string&&),
                ^~~~~~~~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note:   template argument deduction/substitution failed:
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:473:23: note:   cannot convert '& substrait::Expression_Literal::set_fixed_binary' (type '<unresolved overloaded function type>') to type 'void (substrait::Expression_Literal::*)(std::__cxx11::string&&) {aka void (substrait::Expression_Literal::*)(std::__cxx11::basic_string<char>&&)}'
           return FromBuffer(&Lit::set_fixed_binary, s);
                             ^~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc: In member function 'arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::Visit(const arrow::ExtensionScalar&)':
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:598:77: error: no matching function for call to 'arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(<unresolved overloaded function type>, const arrow::FixedSizeBinaryScalar&)'
                               checked_cast<const FixedSizeBinaryScalar&>(*s.value));
                                                                                   ^
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note: candidate: template<class ScalarWithBufferValue> arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(void (substrait::Expression_Literal::*)(std::__cxx11::string&&), const ScalarWithBufferValue&)
         Status FromBuffer(void (substrait::Expression::Literal::*set)(std::string&&),
                ^~~~~~~~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note:   template argument deduction/substitution failed:
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:597:25: note:   cannot convert '& substrait::Expression_Literal::set_uuid' (type '<unresolved overloaded function type>') to type 'void (substrait::Expression_Literal::*)(std::__cxx11::string&&) {aka void (substrait::Expression_Literal::*)(std::__cxx11::basic_string<char>&&)}'
             return FromBuffer(&Lit::set_uuid,
                               ^~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:603:77: error: no matching function for call to 'arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(<unresolved overloaded function type>, const arrow::FixedSizeBinaryScalar&)'
                               checked_cast<const FixedSizeBinaryScalar&>(*s.value));
                                                                                   ^
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note: candidate: template<class ScalarWithBufferValue> arrow::Status arrow::engine::{anonymous}::ScalarToProtoImpl::FromBuffer(void (substrait::Expression_Literal::*)(std::__cxx11::string&&), const ScalarWithBufferValue&)
         Status FromBuffer(void (substrait::Expression::Literal::*set)(std::string&&),
                ^~~~~~~~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:447:10: note:   template argument deduction/substitution failed:
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:602:25: note:   cannot convert '& substrait::Expression_Literal::set_fixed_char' (type '<unresolved overloaded function type>') to type 'void (substrait::Expression_Literal::*)(std::__cxx11::string&&) {aka void (substrait::Expression_Literal::*)(std::__cxx11::basic_string<char>&&)}'
             return FromBuffer(&Lit::set_fixed_char,
                               ^~~~
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc: In function 'arrow::Result<std::unique_ptr<substrait::Expression> > arrow::engine::ToProto(const arrow::compute::Expression&, arrow::engine::ExtensionSet*)':
      /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:860:74: error: 'bool substrait::Expression_Literal::has_i32() const' is private within this context
             if (arguments[1]->has_literal() && arguments[1]->literal().has_i32()) {
                                                                                ^
      In file included from /arrow/cpp/src/arrow/engine/substrait/expression_internal.h:29:0,
                       from /arrow/cpp/src/arrow/engine/substrait/expression_internal.cc:20:
      src/arrow/engine/generated/substrait/expression.pb.h:6207:13: note: declared private here
       inline bool Expression_Literal::has_i32() const {
                   ^~~~~~~~~~~~~~~~~~
      

      Attachments

        Activity

          People

            jvanstraten Jeroen van Straten
            apitrou Antoine Pitrou
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 7.5h
                7.5h