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

[Gandiva][C++] Build error with g++ 8.2.0

    XMLWordPrintableJSON

Details

    Description

      Error message1:

      In file included from /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/expr_decomposer.cc:27:
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:46:27: error: 'function' in namespace 'std' does not name a template type
         using maker_type = std::function<Status(const FunctionNode&, FunctionHolderPtr*)>;
                                 ^~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:46:22: note: 'std::function' is defined in header '<functional>'; did you forget to '#include <functional>'?
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:30:1:
      +#include <functional>
       
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:46:22:
         using maker_type = std::function<Status(const FunctionNode&, FunctionHolderPtr*)>;
                            ^~~
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:47:52: error: 'maker_type' was not declared in this scope
         using map_type = std::unordered_map<std::string, maker_type>;
                                                          ^~~~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:47:52: note: suggested alternative: 'decltype'
         using map_type = std::unordered_map<std::string, maker_type>;
                                                          ^~~~~~~~~~
                                                          decltype
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:47:62: error: template argument 2 is invalid
         using map_type = std::unordered_map<std::string, maker_type>;
                                                                    ^
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:47:62: error: template argument 5 is invalid
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:60:10: error: 'map_type' does not name a type; did you mean 'iswctype'?
         static map_type& makers() {
                ^~~~~~~~
                iswctype
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h: In static member function 'static gandiva::Status gandiva::FunctionHolderRegistry::Make(const string&, const gandiva::FunctionNode&, gandiva::FunctionHolderPtr*)':
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:51:18: error: 'makers' was not declared in this scope
           auto found = makers().find(name);
                        ^~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/function_holder_registry.h:51:18: note: suggested alternative: 'Make'
           auto found = makers().find(name);
                        ^~~~~~
                        Make
      

      Error message2:

      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/tree_expr_builder.cc: In static member function 'static gandiva::NodePtr gandiva::TreeExprBuilder::MakeNull(gandiva::DataTypePtr)':
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/tree_expr_builder.cc:78:70: error: 'float_t' was not declared in this scope
             return std::make_shared<LiteralNode>(data_type, LiteralHolder((float_t)0), true);
                                                                            ^~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/tree_expr_builder.cc:78:70: note: suggested alternative: 'float'
             return std::make_shared<LiteralNode>(data_type, LiteralHolder((float_t)0), true);
                                                                            ^~~~~~~
                                                                            float
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/tree_expr_builder.cc:80:70: error: 'double_t' was not declared in this scope
             return std::make_shared<LiteralNode>(data_type, LiteralHolder((double_t)0), true);
                                                                            ^~~~~~~~
      /home/kou/work/cpp/arrow.kou/cpp/src/gandiva/tree_expr_builder.cc:80:70: note: suggested alternative: 'double'
             return std::make_shared<LiteralNode>(data_type, LiteralHolder((double_t)0), true);
                                                                            ^~~~~~~~
                                                                            double
      

      Attachments

        Issue Links

          Activity

            People

              kou Kouhei Sutou
              kou Kouhei Sutou
              Votes:
              0 Vote for this issue
              Watchers:
              3 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 - 20m
                  20m