From 60e849ed079916ddc7bd7eda302d68b72e5f6609 Mon Sep 17 00:00:00 2001 From: Hiroshi Hatake Date: Fri, 31 Oct 2025 18:48:17 +0900 Subject: [PATCH] build: Link system libzstd when enabling in_systemd plugin This is because RHEL10 or other distributions which use zstd compression inside of systemd, the symbols could be collided and we need to unify the using zstd symbols. This is just for changing the way to linking libzstd libraries. No need to change for building rules in packaging. Signed-off-by: Hiroshi Hatake --- CMakeLists.txt | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cf122fd233..94fd5d90557 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -577,18 +577,6 @@ add_subdirectory(${FLB_PATH_LIB_MPACK} EXCLUDE_FROM_ALL) # Miniz (zip) add_subdirectory(${FLB_PATH_LIB_MINIZ} EXCLUDE_FROM_ALL) -# Zstd (zstd) -if(FLB_PREFER_SYSTEM_LIB_ZSTD) - find_package(PkgConfig) - pkg_check_modules(LIBZSTD libzstd>=1.4.8) -endif() -if(LIBZSTD_FOUND) - include_directories(${LIBZSTD_INCLUDE_DIRS}) - link_directories(${LIBZSTD_LIBRARY_DIRS}) -else() - include(cmake/zstd.cmake) -endif() - # ring buffer library add_subdirectory(${FLB_PATH_LIB_RING_BUFFER} EXCLUDE_FROM_ALL) @@ -886,6 +874,22 @@ else() FLB_OPTION(FLB_IN_SYSTEMD OFF) endif() +# Zstd (zstd) +if(FLB_PREFER_SYSTEM_LIB_ZSTD OR (FLB_SYSTEM_LINUX AND FLB_IN_SYSTEMD)) + find_package(PkgConfig) + pkg_check_modules(LIBZSTD libzstd>=1.4.8 QUIET) + if (NOT LIBZSTD_FOUND) + pkg_check_modules(LIBZSTD zstd>=1.4.8 QUIET) + endif() +endif() +if(LIBZSTD_FOUND) + message(STATUS "Using system libzstd: ${LIBZSTD_VERSION}") + include_directories(${LIBZSTD_INCLUDE_DIRS}) + link_directories(${LIBZSTD_LIBRARY_DIRS}) +else() + include(cmake/zstd.cmake) +endif() + # Valgrind support check_c_source_compiles(" #include