Kouhei Sutou created ARROW-3580:
-----------------------------------

             Summary: [Gandiva][C++] Build error with g++ 8.2.0
                 Key: ARROW-3580
                 URL: https://issues.apache.org/jira/browse/ARROW-3580
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++, Gandiva
    Affects Versions: 0.11.0
            Reporter: Kouhei Sutou
            Assignee: Kouhei Sutou


Error message1:
{noformat}
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
{noformat}

Error message2:

{noformat}
/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
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to