Wes McKinney created ARROW-4868:
-----------------------------------
Summary: [C++][Gandiva] Build fails with system Boost on Ubuntu
Trusty 14.04
Key: ARROW-4868
URL: https://issues.apache.org/jira/browse/ARROW-4868
Project: Apache Arrow
Issue Type: Bug
Components: C++ - Gandiva
Reporter: Wes McKinney
Fix For: 0.14.0
It would be nice for things to work out of the box, but maybe not worth it. I
can use vendored Boost for now
{code}
/usr/include/boost/functional/hash/extensions.hpp:269:20: error: no matching
function for call to 'hash_value'
return hash_value(val);
^~~~~~~~~~
/usr/include/boost/functional/hash/hash.hpp:249:17: note: in instantiation of
member function 'boost::hash<std::shared_ptr<gandiva::Configuration>
>::operator()' requested here
seed ^= hasher(v) + 0x9e3779b9 + (seed<<6) + (seed>>2);
^
/home/wesm/code/arrow/cpp/src/gandiva/filter_cache_key.h:40:12: note: in
instantiation of function template specialization
'boost::hash_combine<std::shared_ptr<gandiva::Configuration> >' requested here
boost::hash_combine(result, configuration);
^
/usr/include/boost/functional/hash/extensions.hpp:70:17: note: candidate
template ignored: could not match 'pair' against 'shared_ptr'
std::size_t hash_value(std::pair<A, B> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:79:17: note: candidate
template ignored: could not match 'vector' against 'shared_ptr'
std::size_t hash_value(std::vector<T, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:85:17: note: candidate
template ignored: could not match 'list' against 'shared_ptr'
std::size_t hash_value(std::list<T, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:91:17: note: candidate
template ignored: could not match 'deque' against 'shared_ptr'
std::size_t hash_value(std::deque<T, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:97:17: note: candidate
template ignored: could not match 'set' against 'shared_ptr'
std::size_t hash_value(std::set<K, C, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:103:17: note: candidate
template ignored: could not match 'multiset' against 'shared_ptr'
std::size_t hash_value(std::multiset<K, C, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:109:17: note: candidate
template ignored: could not match 'map' against 'shared_ptr'
std::size_t hash_value(std::map<K, T, C, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:115:17: note: candidate
template ignored: could not match 'multimap' against 'shared_ptr'
std::size_t hash_value(std::multimap<K, T, C, A> const& v)
^
/usr/include/boost/functional/hash/extensions.hpp:121:17: note: candidate
template ignored: could not match 'complex' against 'shared_ptr'
std::size_t hash_value(std::complex<T> const& v)
^
/usr/include/boost/functional/hash/hash.hpp:187:57: note: candidate template
ignored: substitution failure [with T =
std::shared_ptr<gandiva::Configuration>]: no type named 'type' in
'boost::hash_detail::basic_numbers<std::shared_ptr<gandiva::Configuration> >'
typename boost::hash_detail::basic_numbers<T>::type hash_value(T v)
~~~~ ^
/usr/include/boost/functional/hash/hash.hpp:193:56: note: candidate template
ignored: substitution failure [with T =
std::shared_ptr<gandiva::Configuration>]: no type named 'type' in
'boost::hash_detail::long_numbers<std::shared_ptr<gandiva::Configuration> >'
typename boost::hash_detail::long_numbers<T>::type hash_value(T v)
~~~~ ^
/usr/include/boost/functional/hash/hash.hpp:199:57: note: candidate template
ignored: substitution failure [with T =
std::shared_ptr<gandiva::Configuration>]: no type named 'type' in
'boost::hash_detail::ulong_numbers<std::shared_ptr<gandiva::Configuration> >'
typename boost::hash_detail::ulong_numbers<T>::type hash_value(T v)
~~~~ ^
/usr/include/boost/functional/hash/hash.hpp:205:31: note: candidate template
ignored: disabled by 'enable_if' [with T =
std::shared_ptr<gandiva::Configuration>]
typename boost::enable_if<boost::is_enum<T>, std::size_t>::type
^
/usr/include/boost/functional/hash/hash.hpp:213:36: note: candidate template
ignored: could not match 'T *const' against 'const
std::shared_ptr<gandiva::Configuration>'
template <class T> std::size_t hash_value(T* const& v)
^
/usr/include/boost/functional/hash/hash.hpp:306:24: note: candidate template
ignored: could not match 'const T [N]' against 'const
std::shared_ptr<gandiva::Configuration>'
inline std::size_t hash_value(const T (&x)[N])
^
/usr/include/boost/functional/hash/hash.hpp:312:24: note: candidate template
ignored: could not match 'T [N]' against 'const
std::shared_ptr<gandiva::Configuration>'
inline std::size_t hash_value(T (&x)[N])
^
/usr/include/boost/functional/hash/hash.hpp:319:24: note: candidate template
ignored: could not match 'basic_string' against 'shared_ptr'
inline std::size_t hash_value(
^
/usr/include/boost/functional/hash/hash.hpp:326:57: note: candidate template
ignored: substitution failure [with T =
std::shared_ptr<gandiva::Configuration>]: no type named 'type' in
'boost::hash_detail::float_numbers<std::shared_ptr<gandiva::Configuration> >'
typename boost::hash_detail::float_numbers<T>::type hash_value(T v)
~~~~ ^
1 error generated.
make[2]: *** [src/gandiva/CMakeFiles/gandiva_objlib.dir/filter.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)