clickhouse-odbc icon indicating copy to clipboard operation
clickhouse-odbc copied to clipboard

Build on centos6 failed

Open elderbig opened this issue 4 years ago • 7 comments

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


elderbig avatar Nov 13 '20 03:11 elderbig

I need build 32bit target,How can I do?

elderbig avatar Nov 13 '20 03:11 elderbig

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 avatar Dec 04 '20 13:12 yaroslav-leonov

@yaroslav-leonov you are building in macOS. This issue is for CentOS 6.

traceon avatar Dec 04 '20 22:12 traceon

@yaroslav-leonov you are building in macOS. This issue is for CentOS 6.

Yes, Catalina, 10.15.7

yaroslav-leonov avatar Dec 07 '20 07:12 yaroslav-leonov

@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 avatar Dec 20 '20 13:12 traceon

@traceon Why don't apply "compile once, run everywhere" principle as in ClickHouse server?

alexey-milovidov avatar Dec 20 '20 13:12 alexey-milovidov

@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.

traceon avatar Dec 20 '20 13:12 traceon