MDEV-16525: MyRocks linking fails with: Undefined reference to `ZDICT_trainFromBuffer'
RocksDB will only build with libzstd support if libzstd version is >=1.1.13. Unfortunately CMake's FindPackage claims it found version 1.1.13 when we have 1.1.12-1 installed, so a workaround with CheckFunctionExists is used to properly check for correct libzstd support.
This commit is contained in:
parent
778df04661
commit
d79bf0009a
@ -64,10 +64,20 @@ if(SNAPPY_FOUND AND (NOT WITH_ROCKSDB_SNAPPY STREQUAL "OFF"))
|
|||||||
list(APPEND THIRDPARTY_LIBS ${SNAPPY_LIBRARIES})
|
list(APPEND THIRDPARTY_LIBS ${SNAPPY_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
include(CheckFunctionExists)
|
||||||
if(ZSTD_FOUND AND (NOT WITH_ROCKSDB_ZSTD STREQUAL "OFF"))
|
if(ZSTD_FOUND AND (NOT WITH_ROCKSDB_ZSTD STREQUAL "OFF"))
|
||||||
add_definitions(-DZSTD)
|
SET(CMAKE_REQUIRED_LIBRARIES zstd)
|
||||||
include_directories(${ZSTD_INCLUDE_DIR})
|
CHECK_FUNCTION_EXISTS(ZDICT_trainFromBuffer ZSTD_VALID)
|
||||||
list(APPEND THIRDPARTY_LIBS ${ZSTD_LIBRARY})
|
UNSET(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
if (WITH_ROCKSDB_ZSTD STREQUAL "ON" AND NOT ZSTD_VALID)
|
||||||
|
MESSAGE(FATAL_ERROR
|
||||||
|
"WITH_ROCKSDB_ZSTD is ON and ZSTD library was found, but the version needs to be >= 1.1.3")
|
||||||
|
endif()
|
||||||
|
if (ZSTD_VALID)
|
||||||
|
add_definitions(-DZSTD)
|
||||||
|
include_directories(${ZSTD_INCLUDE_DIR})
|
||||||
|
list(APPEND THIRDPARTY_LIBS ${ZSTD_LIBRARY})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_definitions(-DZLIB)
|
add_definitions(-DZLIB)
|
||||||
@ -119,7 +129,6 @@ int main() {
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(CheckFunctionExists)
|
|
||||||
CHECK_FUNCTION_EXISTS(malloc_usable_size HAVE_MALLOC_USABLE_SIZE)
|
CHECK_FUNCTION_EXISTS(malloc_usable_size HAVE_MALLOC_USABLE_SIZE)
|
||||||
if(HAVE_MALLOC_USABLE_SIZE)
|
if(HAVE_MALLOC_USABLE_SIZE)
|
||||||
add_definitions(-DROCKSDB_MALLOC_USABLE_SIZE)
|
add_definitions(-DROCKSDB_MALLOC_USABLE_SIZE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user