From 2d0601c71ffce64cf7566ea8cc0e77d6786565e5 Mon Sep 17 00:00:00 2001 From: fdr400 Date: Tue, 28 Jan 2025 13:43:51 +0300 Subject: [PATCH] Fix clickhouse build --- cmake/modules/Findclickhouse-cpp.cmake | 5 ++++- scripts/clickhouse/ubuntu-install-clickhouse.sh | 4 ++-- scripts/docker/setup-base-ubuntu-22.04-env.sh | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cmake/modules/Findclickhouse-cpp.cmake b/cmake/modules/Findclickhouse-cpp.cmake index 384d6875cac1..ff3873a70227 100644 --- a/cmake/modules/Findclickhouse-cpp.cmake +++ b/cmake/modules/Findclickhouse-cpp.cmake @@ -11,7 +11,10 @@ _userver_module_find_include( ) _userver_module_find_library( - NAMES clickhouse-cpp-lib + # on Linux, clickhouse should be linked dynamically + # because new clickhouse versions have broker install + # with static libraries + NAMES libclickhouse-cpp-lib.so clickhouse-cpp-lib PATH_SUFFIXES clickhouse-cpp yandex/clickhouse-cpp diff --git a/scripts/clickhouse/ubuntu-install-clickhouse.sh b/scripts/clickhouse/ubuntu-install-clickhouse.sh index f6f8c02de4a0..2279ff495886 100755 --- a/scripts/clickhouse/ubuntu-install-clickhouse.sh +++ b/scripts/clickhouse/ubuntu-install-clickhouse.sh @@ -3,10 +3,10 @@ # Exit on any error and treat unset variables as errors, print all commands set -euox pipefail -CLICKHOUSE_VERSION=${CLICKHOUSE_VERSION:=v2.3.0} +CLICKHOUSE_VERSION=${CLICKHOUSE_VERSION:=v2.5.1} # Installing Clickhouse C++ client libraries from sources git clone --depth 1 -b ${CLICKHOUSE_VERSION} https://github.com/ClickHouse/clickhouse-cpp.git (cd clickhouse-cpp && mkdir build && cd build && \ - cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. && make -j $(nproc) && make install) + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON .. && make -j $(nproc) && make install) rm -rf clickhouse-cpp/ diff --git a/scripts/docker/setup-base-ubuntu-22.04-env.sh b/scripts/docker/setup-base-ubuntu-22.04-env.sh index e9f729a78a51..38ccff1c33a9 100755 --- a/scripts/docker/setup-base-ubuntu-22.04-env.sh +++ b/scripts/docker/setup-base-ubuntu-22.04-env.sh @@ -131,7 +131,7 @@ apt clean all # You could override those versions from command line export AMQP_VERSION=${AMQP_VERSION:=v4.3.18} -export CLICKHOUSE_VERSION=${CLICKHOUSE_VERSION:=v2.3.0} +export CLICKHOUSE_VERSION=${CLICKHOUSE_VERSION:=v2.5.1} export ROCKSDB_VERSION=${ROCKSDB_VERSION:=v8.9.1} export POSTGRESQL_VERSION=${POSTGRESQL_VERSION:=14}