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

Wes McKinney updated ARROW-4868:
--------------------------------
    Fix Version/s:     (was: 0.14.0)

> [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
>            Priority: Major
>
> 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)

Reply via email to