From: Kefu Chai Date: Mon, 14 Nov 2016 11:10:23 +0000 (+0800) Subject: cmake: should link against ${ALLOC_LIBS} X-Git-Tag: v11.1.0~236^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e630d74c6457a7f1fe71fb4ed2f15a7ef9114fe8;p=ceph.git 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 --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c46cab9ab627..077bb4538d46 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 85857b9d1fa1..d1bb15a506b9 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)