missed it in
0edfad0.
* librbd: pass '--exclude-libs,ALL' to linker
* rbd: link against used libraries explicitly, rbd is accessing some
internal symbols not exposed by librbd.
Signed-off-by: Kefu Chai <kchai@redhat.com>
install(TARGETS cls_rbd DESTINATION ${cls_dir})
add_library(cls_rbd_client STATIC rbd/cls_rbd_client.cc rbd/cls_rbd_types.cc)
+ target_link_libraries(cls_rbd_client cls_lock_client)
endif (WITH_RBD)
# cls_lock
ObjectRecorder.cc
Utils.cc)
add_library(journal STATIC ${journal_srcs})
+target_link_libraries(journal cls_journal_client)
OUTPUT_NAME rbd
VERSION 1.0.0
SOVERSION 1
- COMPILE_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden")
+ COMPILE_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden"
+ LINK_FLAGS "-Wl,--exclude-libs,ALL")
endif(ENABLE_SHARED)
install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR})
add_executable(rbd-fuse
rbd-fuse.cc)
target_link_libraries(rbd-fuse
- librbd librados ${FUSE_LIBRARIES})
+ librbd librados common ${FUSE_LIBRARIES})
install(TARGETS rbd-fuse DESTINATION bin)
target_link_libraries(ceph_test_librbd_fsx
librbd
librados
+ journal
global
m
${CMAKE_DL_LIBS}
$<TARGET_OBJECTS:common_texttable_obj>
$<TARGET_OBJECTS:krbd_objs>)
set_target_properties(rbd PROPERTIES OUTPUT_NAME rbd)
-target_link_libraries(rbd librbd librados global common keyutils udev
+target_link_libraries(rbd librbd librados
+ cls_journal_client cls_rbd_client
+ rbd_types
+ journal
+ common global
+ keyutils udev
${Boost_REGEX_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}
${BLKID_LIBRARIES} ${CMAKE_DL_LIBS})
install(TARGETS rbd DESTINATION bin)