aws-sdk-cpp icon indicating copy to clipboard operation
aws-sdk-cpp copied to clipboard

Build fails on RHEL 7.6 using gcc8 with CUSTOM_MEMORY_MANAGEMENT enabled

Open psustr opened this issue 3 years ago • 0 comments

Describe the bug

A build break occurs when building AWS SDK C++ version 1.9.238 on RHEL 7.6 using gcc8 while CUSTOM_MEMORY_MANAGEMENT is enabled. Building without CUSTOM_MEMORY_MANAGEMENT finishes without any issues.

Steps to reproduce:

yum install devtoolset-8
source /opt/rh/devtoolset-8/enable
cd $HOME
git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp
mkdir $HOME/aws-sdk-build
cd $HOME/aws-sdk-build
cmake -D CMAKE_BUILD_TYPE=Release -D BUILD_ONLY="transfer;kinesis" -D CUSTOM_MEMORY_MANAGEMENT=1 $HOME/aws-sdk-cpp
make

Failing output:

[ 79%] Building CXX object aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/ub_core.cpp.o
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/unordered_set:46,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSSet.h:13,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h: In instantiation of ‘class std::_Hashtable<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::__detail::_Identity, std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, true, true> >’:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unordered_set.h:100:18:   required from ‘class std::unordered_set<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > > >’
/root/aws-sdk-cpp/aws-cpp-sdk-core/source/client/AdaptiveRetryStrategy.cpp:212:50:   required from here
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h:195:21: error: static assertion failed: hash function must be invocable with an argument of key type
       static_assert(__is_invocable<const _H1&, const _Key&>{},
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/unordered_set:47,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSSet.h:13,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unordered_set.h: In constructor ‘std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::initializer_list<typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Tp&> > >::value, true, true> >::value_type>, std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Hash = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _Pred = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _Alloc = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Tp&> > >::value, true, true> >::value_type = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >]’:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unordered_set.h:222:28: error: use of deleted function ‘std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >::hash()’
       const hasher& __hf = hasher(),
                            ^~~~~~~~
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6626,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/AWSMemory.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSAllocator.h:11,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSString.h:10,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/Region.h:10,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:10,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:101:12: note: ‘std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >::hash()’ is implicitly deleted because the default definition would be ill-formed:
     struct hash : __hash_enum<_Tp>
            ^~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:101:12: error: no matching function for call to ‘std::__hash_enum<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, false>::__hash_enum()’
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:82:7: note: candidate: ‘std::__hash_enum<_Tp, <anonymous> >::__hash_enum(std::__hash_enum<_Tp, <anonymous> >&&) [with _Tp = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; bool <anonymous> = false]’
       __hash_enum(__hash_enum&&);
       ^~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:82:7: note:   candidate expects 1 argument, 0 provided
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:101:12: error: ‘std::__hash_enum<_Tp, <anonymous> >::~__hash_enum() [with _Tp = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; bool <anonymous> = false]’ is private within this context
     struct hash : __hash_enum<_Tp>
            ^~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:83:7: note: declared private here
       ~__hash_enum();
       ^
In file included from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:10:
/root/aws-sdk-cpp/aws-cpp-sdk-core/source/client/AdaptiveRetryStrategy.cpp:216:83: note:   when instantiating default argument for call to ‘std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::initializer_list<typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Tp&> > >::value, true, true> >::value_type>, std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Hash = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _Pred = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _Alloc = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; typename std::_Hashtable<_Value, _Value, _Alloc, std::__detail::_Identity, _Pred, _Hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<std::__not_<std::__and_<std::__is_fast_hash<_Hash>, std::__is_nothrow_invocable<const _Hash&, const _Tp&> > >::value, true, true> >::value_type = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >]’
                     "SlowDown", "PriorRequestNotComplete", "EC2ThrottledException"};
                                                                                   ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/unordered_set:46,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSSet.h:13,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h: In instantiation of ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Value = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Alloc = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _ExtractKey = std::__detail::_Identity; _Equal = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _H1 = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, true, true>]’:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unordered_set.h:97:11:   required from here
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h:1376:5: error: use of deleted function ‘std::__detail::_Hashtable_base<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::__detail::_Identity, std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, true, true> >::~_Hashtable_base()’
     }
     ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h:35,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/unordered_set:46,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSSet.h:13,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1772:10: note: ‘std::__detail::_Hashtable_base<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::__detail::_Identity, std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, true, true> >::~_Hashtable_base()’ is implicitly deleted because the default definition would be ill-formed:
   struct _Hashtable_base
          ^~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1772:10: error: use of deleted function ‘std::__detail::_Hash_code_base<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::__detail::_Identity, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1352:12: note: ‘std::__detail::_Hash_code_base<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, std::__detail::_Identity, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()’ is implicitly deleted because the default definition would be ill-formed:
     struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       _Default_ranged_hash, true>
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1352:12: error: use of deleted function ‘std::__detail::_Hashtable_ebo_helper<1, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, true>::~_Hashtable_ebo_helper()’
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1103:12: note: ‘std::__detail::_Hashtable_ebo_helper<1, std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >, true>::~_Hashtable_ebo_helper()’ is implicitly deleted because the default definition would be ill-formed:
     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1103:12: error: use of deleted function ‘std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >::~hash()’
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/basic_string.h:6626,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/string:52,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/stdexcept:39,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/array:39,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/tuple:39,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unique_ptr.h:37,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/memory:80,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/AWSMemory.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSAllocator.h:11,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSString.h:10,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/Region.h:10,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:10,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:101:12: note: ‘std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >::~hash()’ is implicitly deleted because the default definition would be ill-formed:
     struct hash : __hash_enum<_Tp>
            ^~~~
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:101:12: error: ‘std::__hash_enum<_Tp, <anonymous> >::~__hash_enum() [with _Tp = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; bool <anonymous> = false]’ is private within this context
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/functional_hash.h:83:7: note: declared private here
       ~__hash_enum();
       ^
In file included from /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h:35,
                 from /opt/rh/devtoolset-8/root/usr/include/c++/8/unordered_set:46,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/utils/memory/stl/AWSSet.h:13,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/include/aws/core/auth/AWSAuthSigner.h:12,
                 from /root/aws-sdk-cpp/aws-cpp-sdk-core/source/auth/AWSAuthSigner.cpp:6,
                 from /root/aws-sdk-build/aws-cpp-sdk-core/ub_core.cpp:2:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h: In instantiation of ‘std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::__hash_code std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::_M_hash_code(const _Key&) const [with _Key = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Value = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _ExtractKey = std::__detail::_Identity; _H1 = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _H2 = std::__detail::_Mod_range_hashing; std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::__hash_code = long unsigned int]’:
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable.h:1455:19:   required from ‘std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::const_iterator std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::find(const key_type&) const [with _Key = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Value = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Alloc = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _ExtractKey = std::__detail::_Identity; _Equal = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _H1 = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, true, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::const_iterator = std::__detail::_Node_const_iterator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, true, true>; std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::key_type = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >]’
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/unordered_set.h:654:29:   required from ‘std::unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator std::unordered_set<_Value, _Hash, _Pred, _Alloc>::find(const key_type&) const [with _Value = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >; _Hash = std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _Pred = std::equal_to<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; _Alloc = Aws::Crt::StlAllocator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::const_iterator = std::__detail::_Node_const_iterator<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >, true, true>; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_type = std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >]’
/root/aws-sdk-cpp/aws-cpp-sdk-core/source/client/AdaptiveRetryStrategy.cpp:218:69:   required from here
/opt/rh/devtoolset-8/root/usr/include/c++/8/bits/hashtable_policy.h:1387:23: error: no match for call to ‘(const std::hash<std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> > >) (const std::basic_string<char, std::char_traits<char>, Aws::Crt::StlAllocator<char> >&)’
       { return _M_h1()(__k); }
                ~~~~~~~^~~~~
make[2]: *** [aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/build.make:77: aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/ub_core.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1010: aws-cpp-sdk-core/CMakeFiles/aws-cpp-sdk-core.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

Expected Behavior

Clean build.

Current Behavior

Build break.

Reproduction Steps

See above.

Possible Solution

Investigating.

Additional Information/Context

No response

AWS CPP SDK version used

1.9.238

Compiler and Version used

gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)

Operating System and version

Linux hostname_masked 3.10.0-957.el7.x86_64 #1 SMP Thu Oct 4 20:48:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

psustr avatar Apr 25 '22 22:04 psustr