From e630d74c6457a7f1fe71fb4ed2f15a7ef9114fe8 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 14 Nov 2016 19:10:23 +0800 Subject: [PATCH] cmake: should link against ${ALLOC_LIBS} rocksdb references some jemalloc specific symbols (malloc_stats_print() for example), if jemalloc is enabled. this fails the build. so we need to link against ${ALLOC_LIBS} when appropriate. Signed-off-by: Kefu Chai --- src/CMakeLists.txt | 4 ++-- src/kv/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c46cab9ab62..077bb4538d4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -252,7 +252,7 @@ elseif(ALLOCATOR STREQUAL "tcmalloc_minimal") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free") set(TCMALLOC_srcs perfglue/disabled_heap_profiler.cc) elseif(ALLOCATOR STREQUAL "jemalloc") - set(ALLOC_LIBS jemalloc) + set(ALLOC_LIBS ${JEMALLOC_LIBRARY}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free") set(TCMALLOC_srcs perfglue/disabled_heap_profiler.cc) elseif(ALLOCATOR STREQUAL "libc") @@ -583,7 +583,7 @@ if (WITH_MGR) $) target_include_directories(ceph-mgr PRIVATE "${PYTHON_INCLUDE_DIRS}") target_link_libraries(ceph-mgr mds osdc global - -lboost_python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${TCMALLOC_LIBS}) + -lboost_python ${PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS}) install(TARGETS ceph-mgr DESTINATION bin) endif (WITH_MGR) diff --git a/src/kv/CMakeLists.txt b/src/kv/CMakeLists.txt index 85857b9d1fa..d1bb15a506b 100644 --- a/src/kv/CMakeLists.txt +++ b/src/kv/CMakeLists.txt @@ -11,7 +11,7 @@ add_library(kv_objs OBJECT ${kv_srcs}) add_library(kv STATIC $) target_include_directories(kv_objs BEFORE PUBLIC ${ROCKSDB_INCLUDE_DIR}) target_include_directories(kv BEFORE PUBLIC ${ROCKSDB_INCLUDE_DIR}) -target_link_libraries(kv ${LEVELDB_LIBRARIES} rocksdb snappy z) +target_link_libraries(kv ${LEVELDB_LIBRARIES} rocksdb ${ALLOC_LIBS} snappy z) # rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same. find_package(BZip2 QUIET) -- 2.39.5