Bug 218835 is going to land shortly after exp-run and render this port BROKEN. Can you help with investigation? In file included from dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:16: /usr/local/include/boost/rational.hpp:207:75: error: no member named 'radix' in 'std::__1::numeric_limits<__uint128_t>' && (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:112:36: note: in instantiation of template class 'boost::rational<unsigned __int128>' requested here ostr << ASTSampleRatio::toString(x.numerator()) << "/" << ASTSampleRatio::toString(x.denominator()); ^ In file included from dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:16: /usr/local/include/boost/rational.hpp:218:75: error: no member named 'radix' in 'std::__1::numeric_limits<__uint128_t>' && (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:231:75: error: no member named 'radix' in 'std::__1::numeric_limits<__uint128_t>' && (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:241:75: error: no member named 'radix' in 'std::__1::numeric_limits<__uint128_t>' && (std::numeric_limits<T>::radix == std::numeric_limits<IntType>::radix) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:416:120: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits > std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == false), bool>::type is_safe_narrowing_conversion(const T& val) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:424:120: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits > std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == true) && (std::numeric_limits<IntType>::is_signed == true), bool>::type is_safe_narrowing_conversion(const T& val) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:436:120: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits > std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == true) && (std::numeric_limits<IntType>::is_signed == false), bool>::type is_safe_narrowing_conversion(const T& val) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:444:121: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits <= std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == true) && (std::numeric_limits<IntType>::is_signed == false), bool>::type is_safe_narrowing_conversion(const T& val) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:452:121: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits <= std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == false) && (std::numeric_limits<IntType>::is_signed == true), bool>::type is_safe_narrowing_conversion(const T&) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:460:121: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits <= std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == false) && (std::numeric_limits<IntType>::is_signed == false), bool>::type is_safe_narrowing_conversion(const T&) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:468:121: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' BOOST_CONSTEXPR static typename boost::enable_if_c<(std::numeric_limits<T>::digits <= std::numeric_limits<IntType>::digits) && (std::numeric_limits<T>::is_signed == true) && (std::numeric_limits<IntType>::is_signed == true), bool>::type is_safe_narrowing_conversion(const T&) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/rational.hpp:120:82: error: no member named 'digits' in 'std::__1::numeric_limits<__uint128_t>' && (std::numeric_limits<FromInt>::digits <= std::numeric_limits<ToInt>::digits) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/boost/config/suffix.hpp:394:72: note: expanded from macro 'BOOST_STATIC_CONSTANT' # define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment ^~~~~~~~~~ /usr/local/include/boost/rational.hpp:157:25: note: in instantiation of template class 'boost::rational_detail::is_compatible_integer<std::__1::basic_string<char>, unsigned __int128>' requested here rational_detail::is_compatible_integer<T, IntType>::value ^ dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:112:10: note: while substituting deduced template arguments into function template 'rational' [with T = std::__1::basic_string<char>] ostr << ASTSampleRatio::toString(x.numerator()) << "/" << ASTSampleRatio::toString(x.denominator()); ^ In file included from dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:3: /usr/include/c++/v1/limits:147:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type min() _NOEXCEPT {return type();} ^ /usr/include/c++/v1/limits:441:15: note: in instantiation of template class 'std::__1::__libcpp_numeric_limits<char [2], false>' requested here : private __libcpp_numeric_limits<typename remove_cv<_Tp>::type> ^ /usr/local/include/boost/rational.hpp:119:50: note: in instantiation of template class 'std::__1::numeric_limits<char [2]>' requested here BOOST_STATIC_CONSTANT(bool, value = ((std::numeric_limits<FromInt>::is_specialized && std::numeric_limits<FromInt>::is_integer ^ /usr/local/include/boost/rational.hpp:157:25: note: in instantiation of template class 'boost::rational_detail::is_compatible_integer<char [2], unsigned __int128>' requested here rational_detail::is_compatible_integer<T, IntType>::value ^ dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:112:53: note: while substituting deduced template arguments into function template 'rational' [with T = char [2]] ostr << ASTSampleRatio::toString(x.numerator()) << "/" << ASTSampleRatio::toString(x.denominator()); ^ In file included from dbms/src/Storages/MergeTree/MergeTreeDataSelectExecutor.cpp:3: /usr/include/c++/v1/limits:148:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type max() _NOEXCEPT {return type();} ^ /usr/include/c++/v1/limits:149:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type lowest() _NOEXCEPT {return type();} ^ /usr/include/c++/v1/limits:158:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type epsilon() _NOEXCEPT {return type();} ^ /usr/include/c++/v1/limits:159:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type round_error() _NOEXCEPT {return type();} ^ /usr/include/c++/v1/limits:171:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type infinity() _NOEXCEPT {return type();} ^ /usr/include/c++/v1/limits:172:56: error: function cannot return array type 'type' (aka 'char [2]') _LIBCPP_INLINE_VISIBILITY static _LIBCPP_CONSTEXPR type quiet_NaN() _NOEXCEPT {return type();} ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. build log: http://sprunge.us/FKGj
Clickhouse fails build on freebsd 10 because std lib too old (no good c++14 support). broken flag for versions less 11 will be added here - https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=218666
clickhouse-1.1.54214 fails on 11.0-RELEASE amd64 similar to comment 0: http://sprunge.us/AMHD
Maybe its bug. Fastest solution: force clickhouse to use bundled boost 1.62: pass to clickhouse cmake: -DUSE_INTERNAL_BOOST_LIBRARY=1
Appears to help. Thank you. patch: https://reviews.freebsd.org/differential/changeset/?ref=260289%2F259825 11.0 amd64: http://sprunge.us/hiFT
should be fixed with https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221690
I confirm but boost 1.65 landing next week will break it again.