clickhouse-odbc
clickhouse-odbc copied to clipboard
Build on centos6 failed
When run build command on centos6,with cmake version 3.18.2(installed by build src)
cmake --build . --config RelWithDebInfo --target package
got failed message
[ 95%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/config/config.cpp.o
[ 95%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/escaping/escape_sequences.cpp.o
[ 95%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/escaping/lexer.cpp.o
[ 95%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/format/ODBCDriver2.cpp.o
[ 95%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/format/RowBinaryWithNamesAndTypes.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/api/impl/impl.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/attributes.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/connection.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/descriptor.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/diagnostics.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/driver.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/environment.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/exception.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/object.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/result_set.cpp.o
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw-impl.dir/statement.cpp.o
[ 96%] Linking CXX static library libclickhouse-odbcw-impl.a
[ 96%] Built target clickhouse-odbcw-impl
[ 96%] Building CXX object driver/CMakeFiles/clickhouse-odbcw.dir/api/odbc.cpp.o
[ 96%] Linking CXX shared library libclickhouseodbcw.so
[ 96%] Built target clickhouse-odbcw
[ 96%] Building CXX object driver/test/CMakeFiles/clickhouse-odbcw-load-ut.dir/load_ut.cpp.o
[ 96%] Linking CXX executable clickhouse-odbcw-load-ut
../../lib/libPocoFoundation.a(Mutex.cpp.o): In function `Poco::MutexImpl::tryLockImpl(long)':
/home/test/temp/clickhouse-odbc/contrib/poco/Foundation/src/Mutex_POSIX.cpp:109: undefined reference to `clock_gettime'
collect2: error: ld returned 1 exit status
gmake[2]: *** [driver/test/CMakeFiles/clickhouse-odbcw-load-ut.dir/build.make:104: driver/test/clickhouse-odbcw-load-ut] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:2445: driver/test/CMakeFiles/clickhouse-odbcw-load-ut.dir/all] Error 2
gmake: *** [Makefile:182: all] Error 2
I need build 32bit target,How can I do?
I have the same error:
[ 91%] Building CXX object driver/CMakeFiles/clickhouse-odbc-impl.dir/api/impl/impl.cpp.o
In file included from /Users/yaroslav_leonov/clickhouse-odbc/driver/api/impl/impl.cpp:3:
In file included from /Users/yaroslav_leonov/clickhouse-odbc/driver/driver.h:5:
/Users/yaroslav_leonov/clickhouse-odbc/driver/attributes.h:123:28: error: no viable overloaded '='
it->second = value;
~~~~~~~~~~ ^ ~~~~~
/Users/yaroslav_leonov/clickhouse-odbc/driver/api/impl/impl.cpp:182:44: note: in instantiation of function
template specialization 'AttributeContainer::setAttr<unsigned long>' requested here
connection.getDriver().setAttr(CH_SQL_ATTR_DRIVERLOG, SQL_OPT_TRACE_ON);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/variant:1267:12: note:
candidate function not viable: no known conversion from 'const unsigned long' to 'const
std::__1::variant<long, std::__1::basic_string<char> >' for 1st argument
variant& operator=(const variant&) = default;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/variant:1268:12: note:
candidate function not viable: no known conversion from 'const unsigned long' to 'std::__1::variant<long,
std::__1::basic_string<char> >' for 1st argument
variant& operator=(variant&&) = default;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/variant:1279:12: note:
candidate template ignored: substitution failure [with _Arg = const unsigned long &, $1 = 0]: no type named
'type' in
'std::__1::invoke_result<std::__1::__variant_detail::__all_overloads<std::__1::__variant_detail::__overload<long,
0>, std::__1::__variant_detail::__overload<std::__1::basic_string<char>, 1> >, const unsigned long &, const
unsigned long &>'
variant& operator=(_Arg&& __arg) noexcept(
^
In file included from /Users/yaroslav_leonov/clickhouse-odbc/driver/api/impl/impl.cpp:2:
In file included from /Users/yaroslav_leonov/clickhouse-odbc/driver/utils/utils.h:4:
In file included from /Users/yaroslav_leonov/clickhouse-odbc/driver/exception.h:6:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string:504:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/string_view:175:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__string:57:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/algorithm:643:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:1881:31: error:
no matching constructor for initialization of 'std::__1::pair<const int, std::__1::variant<long,
std::__1::basic_string<char> > >'
::new((void*)__p) _Up(_VSTD::forward<_Args>(__args)...);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:1773:18: note:
in instantiation of function template specialization
'std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, void *> >::construct<std::__1::pair<const int, std::__1::variant<long,
std::__1::basic_string<char> > >, int &, const unsigned long &>' requested here
{__a.construct(__p, _VSTD::forward<_Args>(__args)...);}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/memory:1600:14: note:
in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<int,
std::__1::variant<long, std::__1::basic_string<char> > >, void *> > >::__construct<std::__1::pair<const
int, std::__1::variant<long, std::__1::basic_string<char> > >, int &, const unsigned long &>' requested
here
{__construct(__has_construct<allocator_type, _Tp*, _Args...>(),
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:2544:20: note:
in instantiation of function template specialization
'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<int,
std::__1::variant<long, std::__1::basic_string<char> > >, void *> > >::construct<std::__1::pair<const int,
std::__1::variant<long, std::__1::basic_string<char> > >, int &, const unsigned long &>' requested here
__node_traits::construct(__na, _NodeTypes::__get_ptr(__h->__value_),
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:2127:29: note:
in instantiation of function template specialization
'std::__1::__hash_table<std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, std::__1::__unordered_map_hasher<int, std::__1::__hash_value_type<int,
std::__1::variant<long, std::__1::basic_string<char> > >, std::__1::hash<int>, true>,
std::__1::__unordered_map_equal<int, std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, std::__1::equal_to<int>, true>,
std::__1::allocator<std::__1::__hash_value_type<int, std::__1::variant<long, std::__1::basic_string<char> >
> > >::__construct_node_hash<int &, const unsigned long &>' requested here
__node_holder __h = __construct_node_hash(__hash, _VSTD::forward<_Args>(__args)...);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__hash_table:1091:16: note:
in instantiation of function template specialization
'std::__1::__hash_table<std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, std::__1::__unordered_map_hasher<int, std::__1::__hash_value_type<int,
std::__1::variant<long, std::__1::basic_string<char> > >, std::__1::hash<int>, true>,
std::__1::__unordered_map_equal<int, std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, std::__1::equal_to<int>, true>,
std::__1::allocator<std::__1::__hash_value_type<int, std::__1::variant<long, std::__1::basic_string<char> >
> > >::__emplace_unique_key_args<int, int &, const unsigned long &>' requested here
return __emplace_unique_key_args(__f, _VSTD::forward<_First>(__f),
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/unordered_map:1084:25: note:
in instantiation of function template specialization
'std::__1::__hash_table<std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, std::__1::__unordered_map_hasher<int, std::__1::__hash_value_type<int,
std::__1::variant<long, std::__1::basic_string<char> > >, std::__1::hash<int>, true>,
std::__1::__unordered_map_equal<int, std::__1::__hash_value_type<int, std::__1::variant<long,
std::__1::basic_string<char> > >, std::__1::equal_to<int>, true>,
std::__1::allocator<std::__1::__hash_value_type<int, std::__1::variant<long, std::__1::basic_string<char> >
> > >::__emplace_unique<int &, const unsigned long &>' requested here
return __table_.__emplace_unique(_VSTD::forward<_Args>(__args)...);
^
/Users/yaroslav_leonov/clickhouse-odbc/driver/attributes.h:93:24: note: in instantiation of function template
specialization 'std::__1::unordered_map<int, std::__1::variant<long, std::__1::basic_string<char> >,
std::__1::hash<int>, std::__1::equal_to<int>, std::__1::allocator<std::__1::pair<const int,
std::__1::variant<long, std::__1::basic_string<char> > > > >::emplace<int &, const unsigned long &>'
requested here
attributes.emplace(attr, value);
^
/Users/yaroslav_leonov/clickhouse-odbc/driver/api/impl/impl.cpp:182:44: note: in instantiation of function
template specialization 'AttributeContainer::setAttr<unsigned long>' requested here
connection.getDriver().setAttr(CH_SQL_ATTR_DRIVERLOG, SQL_OPT_TRACE_ON);
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:426:5: note:
candidate constructor template not viable: no known conversion from 'const unsigned long' to 'const
std::__1::variant<long, std::__1::basic_string<char> >' for 2nd argument
pair(_T1 const& __t1, _T2 const& __t2)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:334:62: note:
candidate template ignored: disabled by 'enable_if' [with _Dummy = true]
using _EnableB _LIBCPP_NODEBUG_TYPE = typename enable_if<_Val, bool>::type;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:334:62: note:
candidate template ignored: disabled by 'enable_if' [with _U1 = int &, _U2 = const unsigned long &]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:334:62: note:
candidate template ignored: disabled by 'enable_if' [with _U1 = int &, _U2 = const unsigned long &]
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:401:5: note:
candidate constructor template not viable: requires 0 arguments, but 2 were provided
pair() _NOEXCEPT_(is_nothrow_default_constructible<first_type>::value &&
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:409:5: note:
candidate constructor template not viable: requires 0 arguments, but 2 were provided
pair() _NOEXCEPT_(is_nothrow_default_constructible<first_type>::value &&
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:453:14: note:
candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
explicit pair(pair<_U1, _U2> const& __p)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:462:5: note:
candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
pair(pair<_U1, _U2> const& __p)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:471:14: note:
candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
explicit pair(pair<_U1, _U2>&&__p)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:480:5: note:
candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
pair(pair<_U1, _U2>&& __p)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:489:14: note:
candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
explicit pair(_Tuple&& __p)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:497:5: note:
candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
pair(_Tuple&& __p)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:503:5: note:
candidate constructor template not viable: requires 3 arguments, but 2 were provided
pair(piecewise_construct_t __pc,
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:562:9: note:
candidate constructor template not viable: requires 5 arguments, but 2 were provided
pair(piecewise_construct_t,
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:309:5: note:
candidate constructor not viable: requires 1 argument, but 2 were provided
pair(pair const&) = default;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/utility:310:5: note:
candidate constructor not viable: requires 1 argument, but 2 were provided
pair(pair&&) = default;
^
2 errors generated.
make[2]: *** [driver/CMakeFiles/clickhouse-odbc-impl.dir/api/impl/impl.cpp.o] Error 1
make[1]: *** [driver/CMakeFiles/clickhouse-odbc-impl.dir/all] Error 2
make: *** [all] Error 2
Version: 10.15.7
@yaroslav-leonov you are building in macOS. This issue is for CentOS 6.
@yaroslav-leonov you are building in macOS. This issue is for CentOS 6.
Yes, Catalina, 10.15.7
@elderbig Centos 6 is fully deprecated and we don't plan to support it. The driver requires pretty modern C++ compiler, I doubt such compiler is available in Centos 6.
@traceon Why don't apply "compile once, run everywhere" principle as in ClickHouse server?
@alexey-milovidov Technically, it should be possible to obtain such version using the following cmake
flags during configure step: -DCH_ODBC_RUNTIME_LINK_STATIC=ON -DCH_ODBC_USE_ICU=OFF
. However, not using ICU for Unicode conversions proved to be very problematic, so I don't recommend it.
When it comes to building in Centos 6 and 32-bit specifically, I don't think it is possible.