You are viewing a plain text version of this content. The canonical link for it is here.
Posted to discuss-archive@tvm.apache.org by donglaxiche via Apache TVM Discuss <no...@discuss.tvm.ai> on 2021/08/01 08:17:04 UTC

[Apache TVM Discuss] [Questions] No match for call to '(const std::hash) (const spv::BuiltIn&)'


I build the container according to the guidance of the document: https://tvm.apache.org/docs/tutorials/frontend/deploy_model_on_android.html
The following error occurred when executing the command "docker build -t tvm.demo_android -f docker/Dockerfile.demo_android ./docker":

    In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
                     from /usr/include/c++/5/unordered_map:47,
                     from /usr/tvm/include/tvm/runtime/container/map.h:32,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:29,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> >':
    /usr/include/c++/5/type_traits:137:12:   required from 'struct std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > >'
    /usr/include/c++/5/type_traits:148:38:   required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
    /usr/include/c++/5/bits/unordered_map.h:100:66:   required from 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to '(const std::hash<spv::BuiltIn>) (const spv::BuiltIn&)'
      noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
                                      ^
    In file included from /usr/include/c++/5/bits/move.h:57:0,
                     from /usr/include/c++/5/bits/stl_pair.h:59,
                     from /usr/include/c++/5/utility:70,
                     from /usr/include/c++/5/algorithm:60,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >':
    /usr/include/c++/5/bits/unordered_map.h:100:66:   required from 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/type_traits:148:38: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > >'
         : public integral_constant<bool, !_Pp::value>
                                          ^
    In file included from /usr/include/c++/5/unordered_map:48:0,
                     from /usr/tvm/include/tvm/runtime/container/map.h:32,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:29,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/unordered_map.h: In instantiation of 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>':
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/bits/unordered_map.h:100:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc>  _Hashtable;
                                                                      ^
    /usr/include/c++/5/bits/unordered_map.h:107:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::key_type key_type;
                                                 ^
    /usr/include/c++/5/bits/unordered_map.h:108:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::value_type value_type;
                                                   ^
    /usr/include/c++/5/bits/unordered_map.h:109:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::mapped_type mapped_type;
                                                    ^
    /usr/include/c++/5/bits/unordered_map.h:110:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::hasher hasher;
                                               ^
    /usr/include/c++/5/bits/unordered_map.h:111:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::key_equal key_equal;
                                                  ^
    /usr/include/c++/5/bits/unordered_map.h:112:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::allocator_type allocator_type;
                                                       ^
    /usr/include/c++/5/bits/unordered_map.h:117:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::pointer  pointer;
                                                 ^
    /usr/include/c++/5/bits/unordered_map.h:118:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_pointer const_pointer;
                                                      ^
    /usr/include/c++/5/bits/unordered_map.h:119:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::reference  reference;
                                                   ^
    /usr/include/c++/5/bits/unordered_map.h:120:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_reference const_reference;
                                                        ^
    /usr/include/c++/5/bits/unordered_map.h:121:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::iterator  iterator;
                                                  ^
    /usr/include/c++/5/bits/unordered_map.h:122:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_iterator const_iterator;
                                                       ^
    /usr/include/c++/5/bits/unordered_map.h:123:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::local_iterator local_iterator;
                                                       ^
    /usr/include/c++/5/bits/unordered_map.h:124:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_local_iterator const_local_iterator;
                                                             ^
    /usr/include/c++/5/bits/unordered_map.h:125:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::size_type  size_type;
                                                   ^
    /usr/include/c++/5/bits/unordered_map.h:126:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::difference_type difference_type;
                                                        ^
    /usr/include/c++/5/bits/unordered_map.h:280:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           operator=(initializer_list<value_type> __l)
           ^
    /usr/include/c++/5/bits/unordered_map.h:379:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
      emplace(_Args&&... __args)
      ^
    /usr/include/c++/5/bits/unordered_map.h:432:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           insert(const value_type& __x)
           ^
    /usr/include/c++/5/bits/unordered_map.h:439:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
      insert(_Pair&& __x)
      ^
    /usr/include/c++/5/bits/unordered_map.h:499:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           insert(initializer_list<value_type> __l)
           ^
    /usr/include/c++/5/bits/unordered_map.h:645:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           equal_range(const key_type& __x)
           ^
    /usr/include/c++/5/bits/unordered_map.h:649:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           equal_range(const key_type& __x) const
           ^
    /usr/tvm/src/target/spirv/ir_builder.cc: In member function 'void tvm::codegen::spirv::IRBuilder::CommitKernelFunction(const tvm::codegen::spirv::Value&, const string&)':
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: error: no matching function for call to 'begin(std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>&)'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:105:37: note: candidate: template<class _Tp> const _Tp* std::begin(const std::valarray<_Tp>&)
       template<typename _Tp> const _Tp* begin(const valarray<_Tp>&);
                                         ^
    /usr/include/c++/5/bits/range_access.h:105:37: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' is not derived from 'const std::valarray<_Tp>'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:104:31: note: candidate: template<class _Tp> _Tp* std::begin(std::valarray<_Tp>&)
       template<typename _Tp> _Tp* begin(valarray<_Tp>&);
                                   ^
    /usr/include/c++/5/bits/range_access.h:104:31: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' is not derived from 'std::valarray<_Tp>'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:87:5: note: candidate: template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::begin(_Tp (&)[_Nm])
         begin(_Tp (&__arr)[_Nm])
         ^
    /usr/include/c++/5/bits/range_access.h:87:5: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   mismatched types '_Tp [_Nm]' and 'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:58:5: note: candidate: template<class _Container> decltype (__cont.begin()) std::begin(const _Container&)
         begin(const _Container& __cont) -> decltype(__cont.begin())
         ^
    /usr/include/c++/5/bits/range_access.h:58:5: note:   template argument deduction/substitution failed:
    /usr/include/c++/5/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) [with _Container = std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>]':
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19:   required from here
    /usr/include/c++/5/bits/range_access.h:58:5: error: 'const class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' has no member named 'begin'
    /usr/include/c++/5/bits/range_access.h:48:5: note: candidate: template<class _Container> decltype (__cont.begin()) std::begin(_Container&)
         begin(_Container& __cont) -> decltype(__cont.begin())
         ^
    /usr/include/c++/5/bits/range_access.h:48:5: note:   template argument deduction/substitution failed:
    /usr/include/c++/5/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(_Container&) [with _Container = std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>]':
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19:   required from here
    /usr/include/c++/5/bits/range_access.h:48:5: error: 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' has no member named 'begin'
    In file included from /usr/include/c++/5/utility:75:0,
                     from /usr/include/c++/5/algorithm:60,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/initializer_list:89:5: note: candidate: template<class _Tp> constexpr const _Tp* std::begin(std::initializer_list<_Tp>)
         begin(initializer_list<_Tp> __ils) noexcept
         ^
    /usr/include/c++/5/initializer_list:89:5: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' is not derived from 'std::initializer_list<_Tp>'
       for (auto& it : built_in_tbl_) {
                       ^
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: error: no matching function for call to 'end(std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>&)'
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:107:37: note: candidate: template<class _Tp> const _Tp* std::end(const std::valarray<_Tp>&)
       template<typename _Tp> const _Tp* end(const valarray<_Tp>&);
                                         ^
    /usr/include/c++/5/bits/range_access.h:107:37: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' is not derived from 'const std::valarray<_Tp>'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:106:31: note: candidate: template<class _Tp> _Tp* std::end(std::valarray<_Tp>&)
       template<typename _Tp> _Tp* end(valarray<_Tp>&);
                                   ^
    /usr/include/c++/5/bits/range_access.h:106:31: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' is not derived from 'std::valarray<_Tp>'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:97:5: note: candidate: template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::end(_Tp (&)[_Nm])
         end(_Tp (&__arr)[_Nm])
         ^
    /usr/include/c++/5/bits/range_access.h:97:5: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   mismatched types '_Tp [_Nm]' and 'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
       for (auto& it : built_in_tbl_) {
                       ^
    In file included from /usr/include/c++/5/string:51:0,
                     from /usr/include/c++/5/random:40,
                     from /usr/include/c++/5/bits/stl_algo.h:66,
                     from /usr/include/c++/5/algorithm:62,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/bits/range_access.h:78:5: note: candidate: template<class _Container> decltype (__cont.end()) std::end(const _Container&)
         end(const _Container& __cont) -> decltype(__cont.end())
         ^
    /usr/include/c++/5/bits/range_access.h:78:5: note:   template argument deduction/substitution failed:
    /usr/include/c++/5/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.end()) std::end(const _Container&) [with _Container = std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>]':
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19:   required from here
    /usr/include/c++/5/bits/range_access.h:78:5: error: 'const class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' has no member named 'end'
    /usr/include/c++/5/bits/range_access.h:68:5: note: candidate: template<class _Container> decltype (__cont.end()) std::end(_Container&)
         end(_Container& __cont) -> decltype(__cont.end())
         ^
    /usr/include/c++/5/bits/range_access.h:68:5: note:   template argument deduction/substitution failed:
    /usr/include/c++/5/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.end()) std::end(_Container&) [with _Container = std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>]':
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19:   required from here
    /usr/include/c++/5/bits/range_access.h:68:5: error: 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' has no member named 'end'
    In file included from /usr/include/c++/5/utility:75:0,
                     from /usr/include/c++/5/algorithm:60,
                     from /usr/tvm/include/tvm/runtime/container/array.h:27,
                     from /usr/tvm/include/tvm/runtime/packed_func.h:28,
                     from /usr/tvm/src/target/spirv/ir_builder.h:27,
                     from /usr/tvm/src/target/spirv/ir_builder.cc:24:
    /usr/include/c++/5/initializer_list:99:5: note: candidate: template<class _Tp> constexpr const _Tp* std::end(std::initializer_list<_Tp>)
         end(initializer_list<_Tp> __ils) noexcept
         ^
    /usr/include/c++/5/initializer_list:99:5: note:   template argument deduction/substitution failed:
    /usr/tvm/src/target/spirv/ir_builder.cc:313:19: note:   'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' is not derived from 'std::initializer_list<_Tp>'
       for (auto& it : built_in_tbl_) {
                       ^
    /usr/tvm/src/target/spirv/ir_builder.cc: In member function 'tvm::codegen::spirv::Value tvm::codegen::spirv::IRBuilder::GetBuiltInValue(spv::BuiltIn, uint32_t, const string&)':
    /usr/tvm/src/target/spirv/ir_builder.cc:363:58: error: converting to 'const key_type {aka const std::tuple<spv::BuiltIn, unsigned int>}' from initializer list would use explicit constructor 'constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&) [with _U1 = spv::BuiltIn&; _U2 = unsigned int&; <template-parameter-2-3> = void; _T1 = spv::BuiltIn; _T2 = unsigned int]'
         auto it = built_in_values_tbl_.find({built_in, index});
                                                              ^
    /usr/tvm/src/target/spirv/ir_builder.cc:386:29: error: 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' has no member named 'find'
         auto it = built_in_tbl_.find(built_in);
                                 ^
    /usr/tvm/src/target/spirv/ir_builder.cc:387:29: error: 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' has no member named 'end'
         if (it != built_in_tbl_.end()) {
                                 ^
    /usr/tvm/src/target/spirv/ir_builder.cc:410:20: error: no match for 'operator[]' (operand types are 'std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>' and 'spv::BuiltIn')
           built_in_tbl_[built_in] = global_array;
                        ^
    /usr/tvm/src/target/spirv/ir_builder.cc:431:41: error: converting to 'std::map<std::tuple<spv::BuiltIn, unsigned int>, tvm::codegen::spirv::Value>::key_type {aka std::tuple<spv::BuiltIn, unsigned int>}' from initializer list would use explicit constructor 'constexpr std::tuple<_T1, _T2>::tuple(_U1&&, _U2&&) [with _U1 = spv::BuiltIn&; _U2 = unsigned int&; <template-parameter-2-3> = void; _T1 = spv::BuiltIn; _T2 = unsigned int]'
       built_in_values_tbl_[{built_in, index}] = output;
                                             ^
    In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
                     from /usr/include/c++/5/unordered_map:47,
                     from /usr/tvm/include/tvm/runtime/container/string.h:38,
                     from /usr/tvm/include/tvm/runtime/ndarray.h:30,
                     from /usr/tvm/include/tvm/node/reflection.h:31,
                     from /usr/tvm/include/tvm/node/node.h:37,
                     from /usr/tvm/include/tvm/ir/span.h:27,
                     from /usr/tvm/include/tvm/ir/expr.h:27,
                     from /usr/tvm/include/tvm/arith/int_set.h:27,
                     from /usr/tvm/include/tvm/arith/analyzer.h:27,
                     from /usr/tvm/src/target/spirv/codegen_spirv.h:27,
                     from /usr/tvm/src/target/spirv/codegen_spirv.cc:24:
    /usr/include/c++/5/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> >':
    /usr/include/c++/5/type_traits:137:12:   required from 'struct std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > >'
    /usr/include/c++/5/type_traits:148:38:   required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
    /usr/include/c++/5/bits/unordered_map.h:100:66:   required from 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to '(const std::hash<spv::BuiltIn>) (const spv::BuiltIn&)'
      noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
                                      ^
    In file included from /usr/include/c++/5/bits/move.h:57:0,
                     from /usr/include/c++/5/bits/stl_pair.h:59,
                     from /usr/include/c++/5/bits/stl_algobase.h:64,
                     from /usr/include/c++/5/bits/char_traits.h:39,
                     from /usr/include/c++/5/string:40,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/logging.h:12,
                     from /usr/tvm/include/tvm/node/functor.h:26,
                     from /usr/tvm/include/tvm/node/structural_equal.h:26,
                     from /usr/tvm/include/tvm/node/reflection.h:26,
                     from /usr/tvm/include/tvm/node/node.h:37,
                     from /usr/tvm/include/tvm/ir/span.h:27,
                     from /usr/tvm/include/tvm/ir/expr.h:27,
                     from /usr/tvm/include/tvm/arith/int_set.h:27,
                     from /usr/tvm/include/tvm/arith/analyzer.h:27,
                     from /usr/tvm/src/target/spirv/codegen_spirv.h:27,
                     from /usr/tvm/src/target/spirv/codegen_spirv.cc:24:
    /usr/include/c++/5/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >':
    /usr/include/c++/5/bits/unordered_map.h:100:66:   required from 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/type_traits:148:38: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > >'
         : public integral_constant<bool, !_Pp::value>
                                          ^
    In file included from /usr/include/c++/5/unordered_map:48:0,
                     from /usr/tvm/include/tvm/runtime/container/string.h:38,
                     from /usr/tvm/include/tvm/runtime/ndarray.h:30,
                     from /usr/tvm/include/tvm/node/reflection.h:31,
                     from /usr/tvm/include/tvm/node/node.h:37,
                     from /usr/tvm/include/tvm/ir/span.h:27,
                     from /usr/tvm/include/tvm/ir/expr.h:27,
                     from /usr/tvm/include/tvm/arith/int_set.h:27,
                     from /usr/tvm/include/tvm/arith/analyzer.h:27,
                     from /usr/tvm/src/target/spirv/codegen_spirv.h:27,
                     from /usr/tvm/src/target/spirv/codegen_spirv.cc:24:
    /usr/include/c++/5/bits/unordered_map.h: In instantiation of 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>':
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/bits/unordered_map.h:100:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc>  _Hashtable;
                                                                      ^
    /usr/include/c++/5/bits/unordered_map.h:107:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::key_type key_type;
                                                 ^
    /usr/include/c++/5/bits/unordered_map.h:108:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::value_type value_type;
                                                   ^
    /usr/include/c++/5/bits/unordered_map.h:109:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::mapped_type mapped_type;
                                                    ^
    /usr/include/c++/5/bits/unordered_map.h:110:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::hasher hasher;
                                               ^
    /usr/include/c++/5/bits/unordered_map.h:111:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::key_equal key_equal;
                                                  ^
    /usr/include/c++/5/bits/unordered_map.h:112:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::allocator_type allocator_type;
                                                       ^
    /usr/include/c++/5/bits/unordered_map.h:117:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::pointer  pointer;
                                                 ^
    /usr/include/c++/5/bits/unordered_map.h:118:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_pointer const_pointer;
                                                      ^
    /usr/include/c++/5/bits/unordered_map.h:119:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::reference  reference;
                                                   ^
    /usr/include/c++/5/bits/unordered_map.h:120:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_reference const_reference;
                                                        ^
    /usr/include/c++/5/bits/unordered_map.h:121:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::iterator  iterator;
                                                  ^
    /usr/include/c++/5/bits/unordered_map.h:122:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::const_iterator const_iterator;
                                                       ^
    /usr/include/c++/5/bits/unordered_map.h:123:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::local_iterator local_iterator;
                                                       ^
    ...
           ^
    /usr/include/c++/5/bits/unordered_map.h:649:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           equal_range(const key_type& __x) const
           ^
    In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
                     from /usr/include/c++/5/unordered_map:47,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/serializer.h:25,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/io.h:446,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/memory_io.h:13,
                     from /usr/tvm/src/target/spirv/build_vulkan.cc:25:
    /usr/include/c++/5/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> >':
    /usr/include/c++/5/type_traits:137:12:   required from 'struct std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > >'
    /usr/include/c++/5/type_traits:148:38:   required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
    /usr/include/c++/5/bits/unordered_map.h:100:66:   required from 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to '(const std::hash<spv::BuiltIn>) (const spv::BuiltIn&)'
      noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
                                      ^
    In file included from /usr/include/c++/5/bits/move.h:57:0,
                     from /usr/include/c++/5/bits/stl_pair.h:59,
                     from /usr/include/c++/5/bits/stl_algobase.h:64,
                     from /usr/include/c++/5/bits/char_traits.h:39,
                     from /usr/include/c++/5/string:40,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/memory_io.h:10,
                     from /usr/tvm/src/target/spirv/build_vulkan.cc:25:
    /usr/include/c++/5/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >':
    /usr/include/c++/5/bits/unordered_map.h:100:66:   required from 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>'
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/type_traits:148:38: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > >'
         : public integral_constant<bool, !_Pp::value>
                                          ^
    In file included from /usr/include/c++/5/unordered_map:48:0,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/serializer.h:25,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/io.h:446,
                     from /usr/tvm/3rdparty/dmlc-core/include/dmlc/memory_io.h:13,
                     from /usr/tvm/src/target/spirv/build_vulkan.cc:25:
    /usr/include/c++/5/bits/unordered_map.h: In instantiation of 'class std::unordered_map<spv::BuiltIn, tvm::codegen::spirv::Value>':
    /usr/tvm/src/target/spirv/ir_builder.h:670:43:   required from here
    /usr/include/c++/5/bits/unordered_map.h:100:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc>  _Hashtable;
                                                                      ^
    /usr/include/c++/5/bits/unordered_map.h:107:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<spv::BuiltIn> >, std::__detail::__is_noexcept_hash<spv::BuiltIn, std::hash<spv::BuiltIn> > > >'
           typedef typename _Hashtable::key_type key_type;
                                                 ^
    ...
    CMakeFiles/tvm_objs.dir/build.make:8534: recipe for target 'CMakeFiles/tvm_objs.dir/src/target/spirv/ir_builder.cc.o' failed
    make[2]: *** [CMakeFiles/tvm_objs.dir/src/target/spirv/ir_builder.cc.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    CMakeFiles/tvm_objs.dir/build.make:8558: recipe for target 'CMakeFiles/tvm_objs.dir/src/target/spirv/build_vulkan.cc.o' failed
    make[2]: *** [CMakeFiles/tvm_objs.dir/src/target/spirv/build_vulkan.cc.o] Error 1
    CMakeFiles/tvm_objs.dir/build.make:8606: recipe for target 'CMakeFiles/tvm_objs.dir/src/target/spirv/codegen_spirv.cc.o' failed
    make[2]: *** [CMakeFiles/tvm_objs.dir/src/target/spirv/codegen_spirv.cc.o] Error 1
    CMakeFiles/Makefile2:545: recipe for target 'CMakeFiles/tvm_objs.dir/all' failed
    make[1]: *** [CMakeFiles/tvm_objs.dir/all] Error 2
    Makefile:127: recipe for target 'all' failed





---
[Visit Topic](https://discuss.tvm.apache.org/t/no-match-for-call-to-const-std-hash-spv-builtin-const-spv-builtin/10669/1) to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/2f737e63e7d3aefe1b64a04b6013b145df44469934026d504773bd86ec4309dc).

[Apache TVM Discuss] [Questions] No match for call to '(const std::hash) (const spv::BuiltIn&)'

Posted by Sergesg via Apache TVM Discuss <no...@discuss.tvm.ai>.

@donglaxiche hello,I have solved this problem。you should checkout tvm to a early repo,for example
git checkout 0b2f30aef2c1c1ed4ec504157b54ceaab182e9ab .Then it works





---
[Visit Topic](https://discuss.tvm.apache.org/t/no-match-for-call-to-const-std-hash-spv-builtin-const-spv-builtin/10669/3) to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/2cffdd7a72dfd344101e4b2c7234e6cabe793ce7218ea454e0f4535ae2d7c013).

[Apache TVM Discuss] [Questions] No match for call to '(const std::hash) (const spv::BuiltIn&)'

Posted by Sergesg via Apache TVM Discuss <no...@discuss.tvm.ai>.

I met this problem too.@tqchen can you help us?thanks





---
[Visit Topic](https://discuss.tvm.apache.org/t/no-match-for-call-to-const-std-hash-spv-builtin-const-spv-builtin/10669/2) to respond.

You are receiving this because you enabled mailing list mode.

To unsubscribe from these emails, [click here](https://discuss.tvm.apache.org/email/unsubscribe/4e727dd8fdf81c183b8c4802a918c779907d2eba88dc91b0b4102400a33cc8dc).