From ab901e242be56208a33649ff7144548efc302ca3 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Fri, 14 Nov 2025 15:50:42 +0100 Subject: [PATCH 1/3] Allow rust dependencies to be built ENABLE_OPENSSL_DYNAMIC=1 --- contrib/delta-kernel-rs-cmake/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/contrib/delta-kernel-rs-cmake/CMakeLists.txt b/contrib/delta-kernel-rs-cmake/CMakeLists.txt index b6b41d2807ce..2605a22bf3c1 100644 --- a/contrib/delta-kernel-rs-cmake/CMakeLists.txt +++ b/contrib/delta-kernel-rs-cmake/CMakeLists.txt @@ -57,11 +57,16 @@ file(COPY ${ClickHouse_SOURCE_DIR}/contrib/openssl/include/ DESTINATION ${DELTA_ # Path for autogenerated files (`delta_kernel_ffi.hpp`) set(DELTA_KERNEL_TARGET_PATH ${DELTA_KERNEL_RS_BINARY_DIR}/include) +set(DELTA_KERNEL_FFI_OPENSSL "OPENSSL_STATIC=1") +if (ENABLE_OPENSSL_DYNAMIC) + set(DELTA_KERNEL_FFI_OPENSSL "OPENSSL_DYNAMIC=1") +endif() + corrosion_set_env_vars(delta_kernel_ffi "CARGO_HOME=${CMAKE_BINARY_DIR}/contrib/corrosion-cmake/" "CARGO_TARGET_DIR=${DELTA_KERNEL_TARGET_PATH}" "OPENSSL_LIBS=ssl:crypto" - "OPENSSL_STATIC=1" + "${DELTA_KERNEL_FFI_OPENSSL}" "OPENSSL_LIB_DIR=${CMAKE_BINARY_DIR}/contrib/openssl-cmake/" "OPENSSL_INCLUDE_DIR=${DELTA_KERNEL_RS_BINARY_DIR}/${PLATFORM_DIRECTORY}") From cfbdd27ce268d8711366d6f47523c80280dac178 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Fri, 14 Nov 2025 15:57:02 +0100 Subject: [PATCH 2/3] ENABLE_OPENSSL_DYNAMIC_DEFAULT=ON for CI/CD to use dynamic OpenSSL --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index cef64d538970..a03792c69797 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -469,6 +469,10 @@ if (ARCH_S390X) else () set(ENABLE_OPENSSL_DYNAMIC_DEFAULT OFF) endif () + +#TODO (vnemkov): remove this before merging +set(ENABLE_OPENSSL_DYNAMIC_DEFAULT ON) + option(ENABLE_OPENSSL_DYNAMIC "This option removes SSL from ClickHouse and will link to the OpenSSL version supplied by OS." ${ENABLE_OPENSSL_DYNAMIC_DEFAULT}) # when installing to /usr - place configs to /etc but for /usr/local place to /usr/local/etc From f679da12129ad4bea514fe3f597c05540b9a6a78 Mon Sep 17 00:00:00 2001 From: Vasily Nemkov Date: Fri, 14 Nov 2025 19:10:11 +0100 Subject: [PATCH 3/3] More fixes of building rust libraries with ENABLE_OPENSSL_DYNAMIC --- contrib/delta-kernel-rs-cmake/CMakeLists.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contrib/delta-kernel-rs-cmake/CMakeLists.txt b/contrib/delta-kernel-rs-cmake/CMakeLists.txt index 2605a22bf3c1..fea7a0b9b1a6 100644 --- a/contrib/delta-kernel-rs-cmake/CMakeLists.txt +++ b/contrib/delta-kernel-rs-cmake/CMakeLists.txt @@ -58,8 +58,11 @@ file(COPY ${ClickHouse_SOURCE_DIR}/contrib/openssl/include/ DESTINATION ${DELTA_ set(DELTA_KERNEL_TARGET_PATH ${DELTA_KERNEL_RS_BINARY_DIR}/include) set(DELTA_KERNEL_FFI_OPENSSL "OPENSSL_STATIC=1") +set(DELTA_KERNEL_FFI_OPENSSL_LIB_DIR "${CMAKE_BINARY_DIR}/contrib/openssl-cmake/") + if (ENABLE_OPENSSL_DYNAMIC) set(DELTA_KERNEL_FFI_OPENSSL "OPENSSL_DYNAMIC=1") + set(DELTA_KERNEL_FFI_OPENSSL_LIB_DIR "${CMAKE_BINARY_DIR}/programs") endif() corrosion_set_env_vars(delta_kernel_ffi @@ -67,7 +70,7 @@ corrosion_set_env_vars(delta_kernel_ffi "CARGO_TARGET_DIR=${DELTA_KERNEL_TARGET_PATH}" "OPENSSL_LIBS=ssl:crypto" "${DELTA_KERNEL_FFI_OPENSSL}" - "OPENSSL_LIB_DIR=${CMAKE_BINARY_DIR}/contrib/openssl-cmake/" + "OPENSSL_LIB_DIR=${DELTA_KERNEL_FFI_OPENSSL_LIB_DIR}" "OPENSSL_INCLUDE_DIR=${DELTA_KERNEL_RS_BINARY_DIR}/${PLATFORM_DIRECTORY}") target_include_directories(delta_kernel_ffi INTERFACE "${DELTA_KERNEL_TARGET_PATH}/")