zhanglei1949 opened a new issue, #515:
URL: https://github.com/apache/incubator-graphar/issues/515

   ### Describe the bug, including details regarding any error messages, 
version, and platform.
   
   When I build `v6d` from source, I got error
   ```
   /usr/include/c++/11/type_traits: In instantiation of ‘struct 
std::is_abstract<arrow::internal::Uri>’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1555:29:
   required from ‘class cpp::bitwizeshift::result<arrow::internal::Uri, 
GraphArchive::Status>’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:79:78:
   required from here
   /usr/include/c++/11/type_traits:778:38: error: invalid use of incomplete 
type ‘class arrow::internal::Uri’
     778 |     : public integral_constant<bool, __is_abstract(_Tp)>
         |                                      ^~~~~~~~~~~~~~~~~~
   In file included from /usr/include/arrow/filesystem/api.h:30,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:21:
   /usr/include/arrow/filesystem/localfs.h:29:7: note: forward declaration of 
‘class arrow::internal::Uri’
      29 | class Uri;
         |       ^~~
   In file included from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/fwd.h:26,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:26:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:
 In instantiation of ‘class cpp::bitwizeshift::result<arrow::internal::Uri, 
GraphArchive::Status>’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:79:78:
   required from here
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1555:29:
 error: ‘value’ is not a member of ‘std::is_abstract<arrow::internal::Uri>’
    1555 |       !std::is_abstract<T>::value,
         |                             ^~~~~
   In file included from /usr/include/c++/11/bits/move.h:57,
                    from /usr/include/c++/11/bits/stl_pair.h:59,
                    from /usr/include/c++/11/bits/stl_algobase.h:64,
                    from /usr/include/c++/11/memory:63,
                    from /usr/include/arrow/adapters/orc/adapter.h:21,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:17:
   /usr/include/c++/11/type_traits: In substitution of ‘template<class _Tp, 
class ... _Args> using __is_nothrow_constructible_impl = 
std::__bool_constant<__is_nothrow_constructible(_Tp)> [with _Tp = 
arrow::internal::Uri; _Args = {arrow::internal::Uri&&}]’:
   /usr/include/c++/11/type_traits:1070:12:   required from ‘struct 
std::__is_nothrow_move_constructible_impl<arrow::internal::Uri, true>’
   /usr/include/c++/11/type_traits:1077:12:   required from ‘struct 
std::is_nothrow_move_constructible<arrow::internal::Uri>’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1286:46:
   required by substitution of ‘template<class T, class E> using 
result_move_assign_base = 
cpp::bitwizeshift::detail::conditionally_nest_type<(((std::is_nothrow_move_constructible<_Tp>::value
 && std::is_nothrow_move_constructible<_Head>::value) && 
std::is_move_assignable<typename std::conditional<std::is_lvalue_reference< 
<template-parameter-1-1> >::value, std::reference_wrapper<typename 
std::remove_reference<_Tp>::type>, typename 
std::remove_const<_Tp>::type>::type>::value) && 
std::is_move_assignable<_T2>::value), 
cpp::bitwizeshift::detail::disable_copy_assignment<T, E> > [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1298:11:
   required by substitution of ‘template<class T, class E> using result_storage 
= cpp::bitwizeshift::detail::result_move_assign_base<T, E> [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:2681:33:
   required from ‘class cpp::bitwizeshift::result<arrow::internal::Uri, 
GraphArchive::Status>’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:79:78:
   required from here
   /usr/include/c++/11/type_traits:1017:25: error: invalid use of incomplete 
type ‘class arrow::internal::Uri’
    1017 |       = __bool_constant<__is_nothrow_constructible(_Tp, _Args...)>;
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from /usr/include/arrow/filesystem/api.h:30,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:21:
   /usr/include/arrow/filesystem/localfs.h:29:7: note: forward declaration of 
‘class arrow::internal::Uri’
      29 | class Uri;
         |       ^~~
   In file included from /usr/include/c++/11/bits/move.h:57,
                    from /usr/include/c++/11/bits/stl_pair.h:59,
                    from /usr/include/c++/11/bits/stl_algobase.h:64,
                    from /usr/include/c++/11/memory:63,
                    from /usr/include/arrow/adapters/orc/adapter.h:21,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:17:
   /usr/include/c++/11/type_traits: In instantiation of ‘struct 
std::is_nothrow_move_constructible<arrow::internal::Uri>’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1286:46:
   required by substitution of ‘template<class T, class E> using 
result_move_assign_base = 
cpp::bitwizeshift::detail::conditionally_nest_type<(((std::is_nothrow_move_constructible<_Tp>::value
 && std::is_nothrow_move_constructible<_Head>::value) && 
std::is_move_assignable<typename std::conditional<std::is_lvalue_reference< 
<template-parameter-1-1> >::value, std::reference_wrapper<typename 
std::remove_reference<_Tp>::type>, typename 
std::remove_const<_Tp>::type>::type>::value) && 
std::is_move_assignable<_T2>::value), 
cpp::bitwizeshift::detail::disable_copy_assignment<T, E> > [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1298:11:
   required by substitution of ‘template<class T, class E> using result_storage 
= cpp::bitwizeshift::detail::result_move_assign_base<T, E> [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:2681:33:
   required from ‘class cpp::bitwizeshift::result<arrow::internal::Uri, 
GraphArchive::Status>’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:79:78:
   required from here
   /usr/include/c++/11/type_traits:1077:12: error: no type named ‘type’ in 
‘struct std::__is_nothrow_move_constructible_impl<arrow::internal::Uri, true>’
    1077 |     struct is_nothrow_move_constructible
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   /usr/include/c++/11/type_traits:1080:52: error: static assertion failed: 
template argument must be a complete class or an unbounded array
    1080 |       
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
         |                     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
   /usr/include/c++/11/type_traits:1080:52: note: 
‘std::__is_complete_or_unbounded<std::__type_identity<arrow::internal::Uri> 
>((std::__type_identity<arrow::internal::Uri>{}, 
std::__type_identity<arrow::internal::Uri>()))’ evaluates to false
   In file included from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/fwd.h:26,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:26:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:
 In substitution of ‘template<class T, class E> using result_move_assign_base = 
cpp::bitwizeshift::detail::conditionally_nest_type<(((std::is_nothrow_move_constructible<_Tp>::value
 && std::is_nothrow_move_constructible<_Head>::value) && 
std::is_move_assignable<typename std::conditional<std::is_lvalue_reference< 
<template-parameter-1-1> >::value, std::reference_wrapper<typename 
std::remove_reference<_Tp>::type>, typename 
std::remove_const<_Tp>::type>::type>::value) && 
std::is_move_assignable<_T2>::value), 
cpp::bitwizeshift::detail::disable_copy_assignment<T, E> > [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1298:11:
   required by substitution of ‘template<class T, class E> using result_storage 
= cpp::bitwizeshift::detail::result_move_assign_base<T, E> [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:2681:33:
   required from ‘class cpp::bitwizeshift::result<arrow::internal::Uri, 
GraphArchive::Status>’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:79:78:
   required from here
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1286:46:
 error: ‘value’ is not a member of 
‘std::is_nothrow_move_constructible<arrow::internal::Uri>’
    1286 |       std::is_nothrow_move_constructible<T>::value &&
         |                                              ^~~~~
   In file included from /usr/include/c++/11/bits/move.h:57,
                    from /usr/include/c++/11/bits/stl_pair.h:59,
                    from /usr/include/c++/11/bits/stl_algobase.h:64,
                    from /usr/include/c++/11/memory:63,
                    from /usr/include/arrow/adapters/orc/adapter.h:21,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:17:
   /usr/include/c++/11/type_traits: In instantiation of ‘struct 
std::is_move_assignable<arrow::internal::Uri>’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1288:56:
   required by substitution of ‘template<class T, class E> using 
result_move_assign_base = 
cpp::bitwizeshift::detail::conditionally_nest_type<(((std::is_nothrow_move_constructible<_Tp>::value
 && std::is_nothrow_move_constructible<_Head>::value) && 
std::is_move_assignable<typename std::conditional<std::is_lvalue_reference< 
<template-parameter-1-1> >::value, std::reference_wrapper<typename 
std::remove_reference<_Tp>::type>, typename 
std::remove_const<_Tp>::type>::type>::value) && 
std::is_move_assignable<_T2>::value), 
cpp::bitwizeshift::detail::disable_copy_assignment<T, E> > [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:1298:11:
   required by substitution of ‘template<class T, class E> using result_storage 
= cpp::bitwizeshift::detail::result_move_assign_base<T, E> [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:2681:33:
   required from ‘class cpp::bitwizeshift::result<arrow::internal::Uri, 
GraphArchive::Status>’
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:79:78:
   required from here
   /usr/include/c++/11/type_traits:1131:52: error: static assertion failed: 
template argument must be a complete class or an unbounded array
    1131 |       
static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
         |                     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
   /usr/include/c++/11/type_traits:1131:52: note: 
‘std::__is_complete_or_unbounded<std::__type_identity<arrow::internal::Uri> 
>((std::__type_identity<arrow::internal::Uri>{}, 
std::__type_identity<arrow::internal::Uri>()))’ evaluates to false
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:
 In function ‘GraphArchive::Result<arrow::internal::Uri> 
GraphArchive::detail::ParseFileSystemUri(const string&)’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:80:24:
 error: aggregate ‘arrow::internal::Uri uri’ has incomplete type and cannot be 
defined
      80 |   arrow::internal::Uri uri;
         |                        ^~~
   [ 36%] Running code generation for vineyard_graph.
   [ 36%] Built target vineyard_graph_gen
   In file included from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/fwd.h:26,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:26:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:
 In instantiation of ‘constexpr bool cpp::bitwizeshift::result< 
<template-parameter-1-1>, <template-parameter-1-2> >::has_error() const [with T 
= arrow::internal::Uri; E = GraphArchive::Status]’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:289:3:
   required from here
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:4675:11:
 error: using invalid field ‘cpp::bitwizeshift::result< 
<template-parameter-1-1>, <template-parameter-1-2> >::m_storage’
    4675 |   return !m_storage.storage.m_has_value;
         |           ^~~~~~~~~
   In file included from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/util/filesystem.h:26,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:28:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:
 In function ‘GraphArchive::Result<std::shared_ptr<GraphArchive::FileSystem> > 
GraphArchive::FileSystemFromUriOrPath(const string&, std::string*)’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:289:28:
 error: ‘arrow::internal::Uri uri’ has incomplete type
     289 |   GAR_ASSIGN_OR_RAISE(auto uri, 
detail::ParseFileSystemUri(uri_string));
         |                            ^~~
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/util/result.h:29:3:
 note: in definition of macro ‘GAR_ASSIGN_OR_RAISE_IMPL’
      29 |   lhs = std::move(result_name).value();
         |   ^~~
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:289:3:
 note: in expansion of macro ‘GAR_ASSIGN_OR_RAISE’
     289 |   GAR_ASSIGN_OR_RAISE(auto uri, 
detail::ParseFileSystemUri(uri_string));
         |   ^~~~~~~~~~~~~~~~~~~
   [ 36%] Building CXX object 
thirdparty/cpprestsdk/Release/src/CMakeFiles/cpprest.dir/http/common/http_compression.cpp.o
   In file included from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/fwd.h:26,
                    from 
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:26:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:
 In instantiation of ‘constexpr E cpp::bitwizeshift::result< 
<template-parameter-1-1>, <template-parameter-1-2> >::error() const & [with T = 
arrow::internal::Uri; E = GraphArchive::Status]’:
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/src/filesystem.cc:289:3:
   required from here
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:4765:10:
 error: using invalid field ‘cpp::bitwizeshift::result< 
<template-parameter-1-1>, <template-parameter-1-2> >::m_storage’
    4765 |   return m_storage.storage.m_has_value
         |          ^~~~~~~~~
   
/tmp/gs-local-deps/v6d-0.22.0/modules/graph/thirdparty/GraphAr/cpp/include/gar/external/result.hpp:4767:7:
 error: using invalid field ‘cpp::bitwizeshift::result< 
<template-parameter-1-1>, <template-parameter-1-2> >::m_storage’
    4767 |     : m_storage.storage.m_error;
   ```
   
   which seems to be the problem of the submodule `GraphAr`. It seems to be the 
problem of latest arrow.
   
   ### Component(s)
   
   C++


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to