You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Dimitrij Denissenko (Jira)" <ji...@apache.org> on 2020/07/27 10:44:00 UTC

[jira] [Updated] (ARROW-9565) [Ruby] Gem red-arrow 1.0.0 fails to build on Ruby 2.7

     [ https://issues.apache.org/jira/browse/ARROW-9565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dimitrij Denissenko updated ARROW-9565:
---------------------------------------
    Affects Version/s:     (was: 0.17.1)
          Environment: 
Ubuntu 20.04 LTS
Linux nine 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


> [Ruby] Gem red-arrow 1.0.0 fails to build on Ruby 2.7
> -----------------------------------------------------
>
>                 Key: ARROW-9565
>                 URL: https://issues.apache.org/jira/browse/ARROW-9565
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Ruby
>    Affects Versions: 1.0.0
>         Environment: Ubuntu 20.04 LTS
> Linux nine 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
>            Reporter: Dimitrij Denissenko
>            Priority: Blocker
>
> {code}
> $ ruby -v
> ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
> $ gem install red-arrow
> Building native extensions. This could take a while...
> ERROR:  Error installing red-arrow:
> 	ERROR: Failed to build gem native extension.    current directory: /home/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/red-arrow-1.0.0/ext/arrow
> /home/user/.rbenv/versions/2.7.1/bin/ruby -I /home/user/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20200727-6654-1c65wu0.rb extconf.rb
> checking --enable-debug-build option... no
> checking C++ compiler... g++
> checking g++ version... 9.3 (gnu++14)
> mkmf-gnome2 is deprecated. Use mkmf-gnome instead.
> checking for --enable-debug-build option... no
> checking for -Wall option to compiler... yes
> checking for -Waggregate-return option to compiler... yes
> checking for -Wcast-align option to compiler... yes
> checking for -Wextra option to compiler... yes
> checking for -Wformat=2 option to compiler... yes
> checking for -Winit-self option to compiler... yes
> checking for -Wlarger-than-65500 option to compiler... yes
> checking for -Wmissing-declarations option to compiler... yes
> checking for -Wmissing-format-attribute option to compiler... yes
> checking for -Wmissing-include-dirs option to compiler... yes
> checking for -Wmissing-noreturn option to compiler... yes
> checking for -Wmissing-prototypes option to compiler... yes
> checking for -Wnested-externs option to compiler... no
> checking for -Wold-style-definition option to compiler... yes
> checking for -Wpacked option to compiler... yes
> checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
> checking for -Wpointer-arith option to compiler... yes
> checking for -Wundef option to compiler... yes
> checking for -Wout-of-line-declaration option to compiler... no
> checking for -Wunsafe-loop-optimizations option to compiler... yes
> checking for -Wwrite-strings option to compiler... yes
> checking for Homebrew... no
> checking for arrow... yes
> checking for arrow-glib... yes
> creating Makefilecurrent directory: /home/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/red-arrow-1.0.0/ext/arrow
> make "DESTDIR=" cleancurrent directory: /home/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/red-arrow-1.0.0/ext/arrow
> make "DESTDIR="
> compiling arrow.cpp
> compiling converters.cpp
> In file included from converters.cpp:20:
> converters.hpp:288:11: error: ‘SparseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   288 |     VISIT(SparseUnion)
>       |           ^~~~~~~~~~~
> converters.hpp:258:38: note: in definition of macro ‘VISIT’
>   258 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:289:11: error: ‘DenseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   289 |     VISIT(DenseUnion)
>       |           ^~~~~~~~~~
> converters.hpp:258:38: note: in definition of macro ‘VISIT’
>   258 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:258:19: error: ‘arrow::Status red_arrow::ListArrayValueConverter::Visit(const int&)’ cannot be overloaded with ‘arrow::Status red_arrow::ListArrayValueConverter::Visit(const int&)’
>   258 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:289:5: note: in expansion of macro ‘VISIT’
>   289 |     VISIT(DenseUnion)
>       |     ^~~~~
> converters.hpp:258:19: note: previous declaration ‘arrow::Status red_arrow::ListArrayValueConverter::Visit(const int&)’
>   258 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:288:5: note: in expansion of macro ‘VISIT’
>   288 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp:258:19: error: ‘arrow::Status red_arrow::ListArrayValueConverter::Visit(const int&)’ marked ‘override’, but does not override
>   258 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:288:5: note: in expansion of macro ‘VISIT’
>   288 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp:392:11: error: ‘SparseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   392 |     VISIT(SparseUnion)
>       |           ^~~~~~~~~~~
> converters.hpp:361:38: note: in definition of macro ‘VISIT’
>   361 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:393:11: error: ‘DenseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   393 |     VISIT(DenseUnion)
>       |           ^~~~~~~~~~
> converters.hpp:361:38: note: in definition of macro ‘VISIT’
>   361 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:361:19: error: ‘arrow::Status red_arrow::StructArrayValueConverter::Visit(const int&)’ cannot be overloaded with ‘arrow::Status red_arrow::StructArrayValueConverter::Visit(const int&)’
>   361 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:393:5: note: in expansion of macro ‘VISIT’
>   393 |     VISIT(DenseUnion)
>       |     ^~~~~
> converters.hpp:361:19: note: previous declaration ‘arrow::Status red_arrow::StructArrayValueConverter::Visit(const int&)’
>   361 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:392:5: note: in expansion of macro ‘VISIT’
>   392 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp:361:19: error: ‘arrow::Status red_arrow::StructArrayValueConverter::Visit(const int&)’ marked ‘override’, but does not override
>   361 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:392:5: note: in expansion of macro ‘VISIT’
>   392 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp: In member function ‘VALUE red_arrow::StructArrayValueConverter::convert(const arrow::StructArray&, int64_t)’:
> converters.hpp:343:35: error: ‘const class arrow::StructType’ has no member named ‘num_fields’
>   343 |       const auto n = struct_type->num_fields();
>       |                                   ^~~~~~~~~~
> converters.hpp:345:46: error: ‘const class arrow::StructType’ has no member named ‘field’
>   345 |         const auto field_type = struct_type->field(i).get();
>       |                                              ^~~~~
> In file included from /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:29,
>                  from /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby.h:33,
>                  from /home/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/glib2-3.4.3/ext/glib2/rbgobject.h:26,
>                  from red-arrow.hpp:33,
>                  from converters.hpp:20,
>                  from converters.cpp:20:
> /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:857:5: error: void value not ignored as it ought to be
>   857 |     (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
>       |     ^
> /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:119:53: note: in definition of macro ‘RB_GNUC_EXTENSION_BLOCK’
>   119 | #define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
>       |                                                     ^
> converters.hpp:348:16: note: in expansion of macro ‘rb_utf8_str_new’
>   348 |         key_ = rb_utf8_str_new(field_name.data(), field_name.length());
>       |                ^~~~~~~~~~~~~~~
> In file included from converters.cpp:20:
> converters.hpp: At global scope:
> converters.hpp:484:11: error: ‘SparseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   484 |     VISIT(SparseUnion)
>       |           ^~~~~~~~~~~
> converters.hpp:453:38: note: in definition of macro ‘VISIT’
>   453 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:485:11: error: ‘DenseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   485 |     VISIT(DenseUnion)
>       |           ^~~~~~~~~~
> converters.hpp:453:38: note: in definition of macro ‘VISIT’
>   453 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:453:19: error: ‘arrow::Status red_arrow::UnionArrayValueConverter::Visit(const int&)’ cannot be overloaded with ‘arrow::Status red_arrow::UnionArrayValueConverter::Visit(const int&)’
>   453 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:485:5: note: in expansion of macro ‘VISIT’
>   485 |     VISIT(DenseUnion)
>       |     ^~~~~
> converters.hpp:453:19: note: previous declaration ‘arrow::Status red_arrow::UnionArrayValueConverter::Visit(const int&)’
>   453 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:484:5: note: in expansion of macro ‘VISIT’
>   484 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp:522:38: error: ‘SparseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   522 |     void convert_sparse(const arrow::SparseUnionArray& array) {
>       |                                      ^~~~~~~~~~~~~~~~
>       |                                      UnionArray
> converters.hpp:536:37: error: ‘DenseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   536 |     void convert_dense(const arrow::DenseUnionArray& array) {
>       |                                     ^~~~~~~~~~~~~~~
>       |                                     UnionArray
> converters.hpp:453:19: error: ‘arrow::Status red_arrow::UnionArrayValueConverter::Visit(const int&)’ marked ‘override’, but does not override
>   453 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:484:5: note: in expansion of macro ‘VISIT’
>   484 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp: In member function ‘VALUE red_arrow::UnionArrayValueConverter::convert(const arrow::UnionArray&, int64_t)’:
> converters.hpp:437:42: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
>   437 |         convert_sparse(static_cast<const arrow::SparseUnionArray&>(array));
>       |                                          ^~~~~
> converters.hpp:437:42: error: expected ‘>’
> converters.hpp:437:42: error: expected ‘(’
>   437 |         convert_sparse(static_cast<const arrow::SparseUnionArray&>(array));
>       |                                          ^~~~~
>       |                                          (
> converters.hpp:437:49: error: ‘SparseUnionArray’ is not a member of ‘arrow’; did you mean ‘UnionArray’?
>   437 |         convert_sparse(static_cast<const arrow::SparseUnionArray&>(array));
>       |                                                 ^~~~~~~~~~~~~~~~
>       |                                                 UnionArray
> converters.hpp:437:66: error: expected primary-expression before ‘>’ token
>   437 |         convert_sparse(static_cast<const arrow::SparseUnionArray&>(array));
>       |                                                                  ^
> converters.hpp:440:41: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
>   440 |         convert_dense(static_cast<const arrow::DenseUnionArray&>(array));
>       |                                         ^~~~~
> converters.hpp:440:41: error: expected ‘>’
> converters.hpp:440:41: error: expected ‘(’
>   440 |         convert_dense(static_cast<const arrow::DenseUnionArray&>(array));
>       |                                         ^~~~~
>       |                                         (
> converters.hpp:440:48: error: ‘DenseUnionArray’ is not a member of ‘arrow’; did you mean ‘UnionArray’?
>   440 |         convert_dense(static_cast<const arrow::DenseUnionArray&>(array));
>       |                                                ^~~~~~~~~~~~~~~
>       |                                                UnionArray
> converters.hpp:440:64: error: expected primary-expression before ‘>’ token
>   440 |         convert_dense(static_cast<const arrow::DenseUnionArray&>(array));
>       |                                                                ^
> converters.hpp: In member function ‘void red_arrow::UnionArrayValueConverter::convert_sparse(const int&)’:
> converters.hpp:524:58: error: request for member ‘type’ in ‘array’, which is of non-class type ‘const int’
>   524 |         std::static_pointer_cast<arrow::UnionType>(array.type()).get();
>       |                                                          ^~~~
> In file included from /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:29,
>                  from /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby.h:33,
>                  from /home/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/glib2-3.4.3/ext/glib2/rbgobject.h:26,
>                  from red-arrow.hpp:33,
>                  from converters.hpp:20,
>                  from converters.cpp:20:
> /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:857:5: error: void value not ignored as it ought to be
>   857 |     (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
>       |     ^
> /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:119:53: note: in definition of macro ‘RB_GNUC_EXTENSION_BLOCK’
>   119 | #define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
>       |                                                     ^
> converters.hpp:530:21: note: in expansion of macro ‘rb_utf8_str_new’
>   530 |       field_name_ = rb_utf8_str_new(field_name.data(), field_name.length());
>       |                     ^~~~~~~~~~~~~~~
> In file included from converters.cpp:20:
> converters.hpp:531:38: error: request for member ‘field’ in ‘array’, which is of non-class type ‘const int’
>   531 |       const auto field_array = array.field(index).get();
>       |                                      ^~~~~
> converters.hpp: In member function ‘void red_arrow::UnionArrayValueConverter::convert_dense(const int&)’:
> converters.hpp:538:58: error: request for member ‘type’ in ‘array’, which is of non-class type ‘const int’
>   538 |         std::static_pointer_cast<arrow::UnionType>(array.type()).get();
>       |                                                          ^~~~
> In file included from /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/ruby.h:29,
>                  from /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby.h:33,
>                  from /home/user/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/glib2-3.4.3/ext/glib2/rbgobject.h:26,
>                  from red-arrow.hpp:33,
>                  from converters.hpp:20,
>                  from converters.cpp:20:
> /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/intern.h:857:5: error: void value not ignored as it ought to be
>   857 |     (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
>       |     ^
> /home/user/.rbenv/versions/2.7.1/include/ruby-2.7.0/ruby/defines.h:119:53: note: in definition of macro ‘RB_GNUC_EXTENSION_BLOCK’
>   119 | #define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
>       |                                                     ^
> converters.hpp:544:21: note: in expansion of macro ‘rb_utf8_str_new’
>   544 |       field_name_ = rb_utf8_str_new(field_name.data(), field_name.length());
>       |                     ^~~~~~~~~~~~~~~
> In file included from converters.cpp:20:
> converters.hpp:545:38: error: request for member ‘field’ in ‘array’, which is of non-class type ‘const int’
>   545 |       const auto field_array = array.field(index);
>       |                                      ^~~~~
> converters.hpp:547:22: error: request for member ‘value_offset’ in ‘array’, which is of non-class type ‘const int’
>   547 |       index_ = array.value_offset(index_);
>       |                      ^~~~~~~~~~~~
> converters.hpp: At global scope:
> converters.hpp:608:11: error: ‘SparseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   608 |     VISIT(SparseUnion)
>       |           ^~~~~~~~~~~
> converters.hpp:577:38: note: in definition of macro ‘VISIT’
>   577 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:609:11: error: ‘DenseUnionArray’ in namespace ‘arrow’ does not name a type; did you mean ‘UnionArray’?
>   609 |     VISIT(DenseUnion)
>       |           ^~~~~~~~~~
> converters.hpp:577:38: note: in definition of macro ‘VISIT’
>   577 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                                      ^~~~
> converters.hpp:577:19: error: ‘arrow::Status red_arrow::DictionaryArrayValueConverter::Visit(const int&)’ cannot be overloaded with ‘arrow::Status red_arrow::DictionaryArrayValueConverter::Visit(const int&)’
>   577 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:609:5: note: in expansion of macro ‘VISIT’
>   609 |     VISIT(DenseUnion)
>       |     ^~~~~
> converters.hpp:577:19: note: previous declaration ‘arrow::Status red_arrow::DictionaryArrayValueConverter::Visit(const int&)’
>   577 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:608:5: note: in expansion of macro ‘VISIT’
>   608 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp:577:19: error: ‘arrow::Status red_arrow::DictionaryArrayValueConverter::Visit(const int&)’ marked ‘override’, but does not override
>   577 |     arrow::Status Visit(const arrow::TYPE ## Array& array) override {   \
>       |                   ^~~~~
> converters.hpp:608:5: note: in expansion of macro ‘VISIT’
>   608 |     VISIT(SparseUnion)
>       |     ^~~~~
> converters.hpp: In member function ‘VALUE red_arrow::DictionaryArrayValueConverter::convert(const arrow::DictionaryArray&, int64_t)’:
> converters.hpp:569:28: error: ‘const class arrow::DictionaryArray’ has no member named ‘GetValueIndex’
>   569 |       value_index_ = array.GetValueIndex(index);
>       |                            ^~~~~~~~~~~~~
> converters.hpp: In instantiation of ‘arrow::Status red_arrow::ListArrayValueConverter::visit_value(const ArrayType&) [with ArrayType = int]’:
> converters.hpp:288:5:   required from here
> converters.hpp:306:17: error: request for member ‘null_count’ in ‘array’, which is of non-class type ‘const int’
>   306 |       if (array.null_count() > 0) {
>       |           ~~~~~~^~~~~~~~~~
> converters.hpp:309:22: error: request for member ‘IsNull’ in ‘array’, which is of non-class type ‘const int’
>   309 |           if (!array.IsNull(i + offset_)) {
>       |                ~~~~~~^~~~~~
> converters.hpp: In instantiation of ‘void red_arrow::StructArrayValueConverter::fill_field(const ArrayType&) [with ArrayType = int]’:
> converters.hpp:392:5:   required from here
> converters.hpp:410:17: error: request for member ‘IsNull’ in ‘array’, which is of non-class type ‘const int’
>   410 |       if (array.IsNull(index_)) {
>       |           ~~~~~~^~~~~~
> converters.hpp: In instantiation of ‘void red_arrow::UnionArrayValueConverter::convert_value(const ArrayType&) [with ArrayType = int]’:
> converters.hpp:484:5:   required from here
> converters.hpp:497:17: error: request for member ‘IsNull’ in ‘array’, which is of non-class type ‘const int’
>   497 |       if (array.IsNull(index_)) {
>       |           ~~~~~~^~~~~~
> converters.hpp:500:21: error: no matching function for call to ‘red_arrow::ArrayValueConverter::convert(const int&, int64_t&)’
>   500 |         rb_hash_aset(result,
>       |         ~~~~~~~~~~~~^~~~~~~~
>   501 |                      field_name_,
>       |                      ~~~~~~~~~~~~
>   502 |                      array_value_converter_->convert(array, index_));
>       |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> converters.hpp:55:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::NullArray&, int64_t)’
>    55 |     inline VALUE convert(const arrow::NullArray& array,
>       |                  ^~~~~~~
> converters.hpp:55:50: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::NullArray&’
>    55 |     inline VALUE convert(const arrow::NullArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:60:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::BooleanArray&, int64_t)’
>    60 |     inline VALUE convert(const arrow::BooleanArray& array,
>       |                  ^~~~~~~
> converters.hpp:60:53: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::BooleanArray&’
>    60 |     inline VALUE convert(const arrow::BooleanArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:65:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int8Array&, int64_t)’
>    65 |     inline VALUE convert(const arrow::Int8Array& array,
>       |                  ^~~~~~~
> converters.hpp:65:50: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int8Array&’ {aka ‘const arrow::NumericArray<arrow::Int8Type>&’}
>    65 |     inline VALUE convert(const arrow::Int8Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:70:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int16Array&, int64_t)’
>    70 |     inline VALUE convert(const arrow::Int16Array& array,
>       |                  ^~~~~~~
> converters.hpp:70:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int16Array&’ {aka ‘const arrow::NumericArray<arrow::Int16Type>&’}
>    70 |     inline VALUE convert(const arrow::Int16Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:75:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int32Array&, int64_t)’
>    75 |     inline VALUE convert(const arrow::Int32Array& array,
>       |                  ^~~~~~~
> converters.hpp:75:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int32Array&’ {aka ‘const arrow::NumericArray<arrow::Int32Type>&’}
>    75 |     inline VALUE convert(const arrow::Int32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:80:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int64Array&, int64_t)’
>    80 |     inline VALUE convert(const arrow::Int64Array& array,
>       |                  ^~~~~~~
> converters.hpp:80:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int64Array&’ {aka ‘const arrow::NumericArray<arrow::Int64Type>&’}
>    80 |     inline VALUE convert(const arrow::Int64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:85:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt8Array&, int64_t)’
>    85 |     inline VALUE convert(const arrow::UInt8Array& array,
>       |                  ^~~~~~~
> converters.hpp:85:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt8Array&’ {aka ‘const arrow::NumericArray<arrow::UInt8Type>&’}
>    85 |     inline VALUE convert(const arrow::UInt8Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:90:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt16Array&, int64_t)’
>    90 |     inline VALUE convert(const arrow::UInt16Array& array,
>       |                  ^~~~~~~
> converters.hpp:90:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt16Array&’ {aka ‘const arrow::NumericArray<arrow::UInt16Type>&’}
>    90 |     inline VALUE convert(const arrow::UInt16Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:95:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt32Array&, int64_t)’
>    95 |     inline VALUE convert(const arrow::UInt32Array& array,
>       |                  ^~~~~~~
> converters.hpp:95:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt32Array&’ {aka ‘const arrow::NumericArray<arrow::UInt32Type>&’}
>    95 |     inline VALUE convert(const arrow::UInt32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:100:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt64Array&, int64_t)’
>   100 |     inline VALUE convert(const arrow::UInt64Array& array,
>       |                  ^~~~~~~
> converters.hpp:100:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt64Array&’ {aka ‘const arrow::NumericArray<arrow::UInt64Type>&’}
>   100 |     inline VALUE convert(const arrow::UInt64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:110:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const FloatArray&, int64_t)’
>   110 |     inline VALUE convert(const arrow::FloatArray& array,
>       |                  ^~~~~~~
> converters.hpp:110:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const FloatArray&’ {aka ‘const arrow::NumericArray<arrow::FloatType>&’}
>   110 |     inline VALUE convert(const arrow::FloatArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:115:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const DoubleArray&, int64_t)’
>   115 |     inline VALUE convert(const arrow::DoubleArray& array,
>       |                  ^~~~~~~
> converters.hpp:115:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const DoubleArray&’ {aka ‘const arrow::NumericArray<arrow::DoubleType>&’}
>   115 |     inline VALUE convert(const arrow::DoubleArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:120:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::BinaryArray&, int64_t)’
>   120 |     inline VALUE convert(const arrow::BinaryArray& array,
>       |                  ^~~~~~~
> converters.hpp:120:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::BinaryArray&’
>   120 |     inline VALUE convert(const arrow::BinaryArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:130:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::StringArray&, int64_t)’
>   130 |     inline VALUE convert(const arrow::StringArray& array,
>       |                  ^~~~~~~
> converters.hpp:130:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::StringArray&’
>   130 |     inline VALUE convert(const arrow::StringArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:138:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::FixedSizeBinaryArray&, int64_t)’
>   138 |     inline VALUE convert(const arrow::FixedSizeBinaryArray& array,
>       |                  ^~~~~~~
> converters.hpp:138:61: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::FixedSizeBinaryArray&’
>   138 |     inline VALUE convert(const arrow::FixedSizeBinaryArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:146:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Date32Array&, int64_t)’
>   146 |     inline VALUE convert(const arrow::Date32Array& array,
>       |                  ^~~~~~~
> converters.hpp:146:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Date32Array&’ {aka ‘const arrow::NumericArray<arrow::Date32Type>&’}
>   146 |     inline VALUE convert(const arrow::Date32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:153:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Date64Array&, int64_t)’
>   153 |     inline VALUE convert(const arrow::Date64Array& array,
>       |                  ^~~~~~~
> converters.hpp:153:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Date64Array&’ {aka ‘const arrow::NumericArray<arrow::Date64Type>&’}
>   153 |     inline VALUE convert(const arrow::Date64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:162:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Time32Array&, int64_t)’
>   162 |     inline VALUE convert(const arrow::Time32Array& array,
>       |                  ^~~~~~~
> converters.hpp:162:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Time32Array&’ {aka ‘const arrow::NumericArray<arrow::Time32Type>&’}
>   162 |     inline VALUE convert(const arrow::Time32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:174:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Time64Array&, int64_t)’
>   174 |     inline VALUE convert(const arrow::Time64Array& array,
>       |                  ^~~~~~~
> converters.hpp:174:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Time64Array&’ {aka ‘const arrow::NumericArray<arrow::Time64Type>&’}
>   174 |     inline VALUE convert(const arrow::Time64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:186:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const TimestampArray&, int64_t)’
>   186 |     inline VALUE convert(const arrow::TimestampArray& array,
>       |                  ^~~~~~~
> converters.hpp:186:55: note:   no known conversion for argument 1 from ‘const int’ to ‘const TimestampArray&’ {aka ‘const arrow::NumericArray<arrow::TimestampType>&’}
>   186 |     inline VALUE convert(const arrow::TimestampArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:23:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::ListArray&, int64_t)’
>    23 |   VALUE ArrayValueConverter::convert(const arrow::ListArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:23:62: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::ListArray&’
>    23 |   VALUE ArrayValueConverter::convert(const arrow::ListArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:28:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::StructArray&, int64_t)’
>    28 |   VALUE ArrayValueConverter::convert(const arrow::StructArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:28:64: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::StructArray&’
>    28 |   VALUE ArrayValueConverter::convert(const arrow::StructArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:33:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::UnionArray&, int64_t)’
>    33 |   VALUE ArrayValueConverter::convert(const arrow::UnionArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:33:63: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::UnionArray&’
>    33 |   VALUE ArrayValueConverter::convert(const arrow::UnionArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:38:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::DictionaryArray&, int64_t)’
>    38 |   VALUE ArrayValueConverter::convert(const arrow::DictionaryArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:38:68: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::DictionaryArray&’
>    38 |   VALUE ArrayValueConverter::convert(const arrow::DictionaryArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> In file included from converters.cpp:20:
> converters.hpp:213:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::Decimal128Array&, int64_t)’
>   213 |     inline VALUE convert(const arrow::Decimal128Array& array,
>       |                  ^~~~~~~
> converters.hpp:213:56: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::Decimal128Array&’
>   213 |     inline VALUE convert(const arrow::Decimal128Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp: In instantiation of ‘VALUE red_arrow::DictionaryArrayValueConverter::convert_value(const ArrayType&, int64_t) [with ArrayType = int; VALUE = long unsigned int; int64_t = long int]’:
> converters.hpp:608:5:   required from here
> converters.hpp:621:54: error: no matching function for call to ‘red_arrow::ArrayValueConverter::convert(const int&, const int64_t&)’
>   621 |       return array_value_converter_->convert(array, i);
>       |                                                      ^
> converters.hpp:55:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::NullArray&, int64_t)’
>    55 |     inline VALUE convert(const arrow::NullArray& array,
>       |                  ^~~~~~~
> converters.hpp:55:50: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::NullArray&’
>    55 |     inline VALUE convert(const arrow::NullArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:60:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::BooleanArray&, int64_t)’
>    60 |     inline VALUE convert(const arrow::BooleanArray& array,
>       |                  ^~~~~~~
> converters.hpp:60:53: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::BooleanArray&’
>    60 |     inline VALUE convert(const arrow::BooleanArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:65:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int8Array&, int64_t)’
>    65 |     inline VALUE convert(const arrow::Int8Array& array,
>       |                  ^~~~~~~
> converters.hpp:65:50: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int8Array&’ {aka ‘const arrow::NumericArray<arrow::Int8Type>&’}
>    65 |     inline VALUE convert(const arrow::Int8Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:70:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int16Array&, int64_t)’
>    70 |     inline VALUE convert(const arrow::Int16Array& array,
>       |                  ^~~~~~~
> converters.hpp:70:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int16Array&’ {aka ‘const arrow::NumericArray<arrow::Int16Type>&’}
>    70 |     inline VALUE convert(const arrow::Int16Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:75:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int32Array&, int64_t)’
>    75 |     inline VALUE convert(const arrow::Int32Array& array,
>       |                  ^~~~~~~
> converters.hpp:75:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int32Array&’ {aka ‘const arrow::NumericArray<arrow::Int32Type>&’}
>    75 |     inline VALUE convert(const arrow::Int32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:80:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Int64Array&, int64_t)’
>    80 |     inline VALUE convert(const arrow::Int64Array& array,
>       |                  ^~~~~~~
> converters.hpp:80:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const Int64Array&’ {aka ‘const arrow::NumericArray<arrow::Int64Type>&’}
>    80 |     inline VALUE convert(const arrow::Int64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:85:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt8Array&, int64_t)’
>    85 |     inline VALUE convert(const arrow::UInt8Array& array,
>       |                  ^~~~~~~
> converters.hpp:85:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt8Array&’ {aka ‘const arrow::NumericArray<arrow::UInt8Type>&’}
>    85 |     inline VALUE convert(const arrow::UInt8Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:90:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt16Array&, int64_t)’
>    90 |     inline VALUE convert(const arrow::UInt16Array& array,
>       |                  ^~~~~~~
> converters.hpp:90:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt16Array&’ {aka ‘const arrow::NumericArray<arrow::UInt16Type>&’}
>    90 |     inline VALUE convert(const arrow::UInt16Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:95:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt32Array&, int64_t)’
>    95 |     inline VALUE convert(const arrow::UInt32Array& array,
>       |                  ^~~~~~~
> converters.hpp:95:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt32Array&’ {aka ‘const arrow::NumericArray<arrow::UInt32Type>&’}
>    95 |     inline VALUE convert(const arrow::UInt32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:100:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const UInt64Array&, int64_t)’
>   100 |     inline VALUE convert(const arrow::UInt64Array& array,
>       |                  ^~~~~~~
> converters.hpp:100:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const UInt64Array&’ {aka ‘const arrow::NumericArray<arrow::UInt64Type>&’}
>   100 |     inline VALUE convert(const arrow::UInt64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:110:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const FloatArray&, int64_t)’
>   110 |     inline VALUE convert(const arrow::FloatArray& array,
>       |                  ^~~~~~~
> converters.hpp:110:51: note:   no known conversion for argument 1 from ‘const int’ to ‘const FloatArray&’ {aka ‘const arrow::NumericArray<arrow::FloatType>&’}
>   110 |     inline VALUE convert(const arrow::FloatArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:115:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const DoubleArray&, int64_t)’
>   115 |     inline VALUE convert(const arrow::DoubleArray& array,
>       |                  ^~~~~~~
> converters.hpp:115:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const DoubleArray&’ {aka ‘const arrow::NumericArray<arrow::DoubleType>&’}
>   115 |     inline VALUE convert(const arrow::DoubleArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:120:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::BinaryArray&, int64_t)’
>   120 |     inline VALUE convert(const arrow::BinaryArray& array,
>       |                  ^~~~~~~
> converters.hpp:120:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::BinaryArray&’
>   120 |     inline VALUE convert(const arrow::BinaryArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:130:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::StringArray&, int64_t)’
>   130 |     inline VALUE convert(const arrow::StringArray& array,
>       |                  ^~~~~~~
> converters.hpp:130:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::StringArray&’
>   130 |     inline VALUE convert(const arrow::StringArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:138:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::FixedSizeBinaryArray&, int64_t)’
>   138 |     inline VALUE convert(const arrow::FixedSizeBinaryArray& array,
>       |                  ^~~~~~~
> converters.hpp:138:61: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::FixedSizeBinaryArray&’
>   138 |     inline VALUE convert(const arrow::FixedSizeBinaryArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:146:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Date32Array&, int64_t)’
>   146 |     inline VALUE convert(const arrow::Date32Array& array,
>       |                  ^~~~~~~
> converters.hpp:146:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Date32Array&’ {aka ‘const arrow::NumericArray<arrow::Date32Type>&’}
>   146 |     inline VALUE convert(const arrow::Date32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:153:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Date64Array&, int64_t)’
>   153 |     inline VALUE convert(const arrow::Date64Array& array,
>       |                  ^~~~~~~
> converters.hpp:153:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Date64Array&’ {aka ‘const arrow::NumericArray<arrow::Date64Type>&’}
>   153 |     inline VALUE convert(const arrow::Date64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:162:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Time32Array&, int64_t)’
>   162 |     inline VALUE convert(const arrow::Time32Array& array,
>       |                  ^~~~~~~
> converters.hpp:162:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Time32Array&’ {aka ‘const arrow::NumericArray<arrow::Time32Type>&’}
>   162 |     inline VALUE convert(const arrow::Time32Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:174:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const Time64Array&, int64_t)’
>   174 |     inline VALUE convert(const arrow::Time64Array& array,
>       |                  ^~~~~~~
> converters.hpp:174:52: note:   no known conversion for argument 1 from ‘const int’ to ‘const Time64Array&’ {aka ‘const arrow::NumericArray<arrow::Time64Type>&’}
>   174 |     inline VALUE convert(const arrow::Time64Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.hpp:186:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const TimestampArray&, int64_t)’
>   186 |     inline VALUE convert(const arrow::TimestampArray& array,
>       |                  ^~~~~~~
> converters.hpp:186:55: note:   no known conversion for argument 1 from ‘const int’ to ‘const TimestampArray&’ {aka ‘const arrow::NumericArray<arrow::TimestampType>&’}
>   186 |     inline VALUE convert(const arrow::TimestampArray& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:23:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::ListArray&, int64_t)’
>    23 |   VALUE ArrayValueConverter::convert(const arrow::ListArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:23:62: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::ListArray&’
>    23 |   VALUE ArrayValueConverter::convert(const arrow::ListArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:28:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::StructArray&, int64_t)’
>    28 |   VALUE ArrayValueConverter::convert(const arrow::StructArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:28:64: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::StructArray&’
>    28 |   VALUE ArrayValueConverter::convert(const arrow::StructArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:33:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::UnionArray&, int64_t)’
>    33 |   VALUE ArrayValueConverter::convert(const arrow::UnionArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:33:63: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::UnionArray&’
>    33 |   VALUE ArrayValueConverter::convert(const arrow::UnionArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> converters.cpp:38:9: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::DictionaryArray&, int64_t)’
>    38 |   VALUE ArrayValueConverter::convert(const arrow::DictionaryArray& array,
>       |         ^~~~~~~~~~~~~~~~~~~
> converters.cpp:38:68: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::DictionaryArray&’
>    38 |   VALUE ArrayValueConverter::convert(const arrow::DictionaryArray& array,
>       |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> In file included from converters.cpp:20:
> converters.hpp:213:18: note: candidate: ‘VALUE red_arrow::ArrayValueConverter::convert(const arrow::Decimal128Array&, int64_t)’
>   213 |     inline VALUE convert(const arrow::Decimal128Array& array,
>       |                  ^~~~~~~
> converters.hpp:213:56: note:   no known conversion for argument 1 from ‘const int’ to ‘const arrow::Decimal128Array&’
>   213 |     inline VALUE convert(const arrow::Decimal128Array& array,
>       |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
> make: *** [Makefile:237: converters.o] Error 1make failed, exit code 2
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)