我正在尝试使用LTTng跟踪部署示例Orocos组件,如下所述:http://paul.chavent.free.fr/orocos-traces.html
它似乎定位了liborocos-rtt-traces-gnulinux.so共享库,但未能找到LTTng符号并返回错误:
符号查找错误:/path/to/liborocos-rtt-traces gnulinux.so:未定义符号: lttng_probe_register
一些建议是改变我的道路以及LDFLAGS,但没有运气。我跟踪的一些线索:
发布于 2017-03-22 15:54:37
修复了它,问题是rtt没有定位lttng库,所以我必须找到并指定位置。
我只需在rtt-lttng中更改跟踪目录的CMakeLists:
### Trace with lttng-ust
IF (NOT OROBLD_DISABLE_LTTNG_UST)
MESSAGE("Building tracing lib.")
find_path(LTTNG_UST_INCLUDE_DIR lttng/tracepoint.h
HINTS ${PC_LTTNG_UST_INCLUDEDIR} ${PC_LTTNG_UST_INCLUDE_DIRS})
find_library(LTTNG_UST_LIBRARY lttng-ust
HINTS ${PC_LTTNG_UST_LIBDIR} ${PC_LTTNG_UST_LIBRARY_DIRS})
find_library(LIBURCU_BP_LIBRARY urcu-bp
HINTS ${PC_LIBURCU_BP_LIBDIR} ${PC_LIBURCU_BP_LIBRARY_DIRS})
set(Lttng_ust_LIBRARIES ${LTTNG_UST_LIBRARY} ${LIBURCU_BP_LIBRARY} -ldl)
set(Lttng_ust_INCLUDE_DIRS ${LTTNG_UST_INCLUDE_DIR})
INCLUDE_DIRECTORIES( ${Lttng_ust_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR})
ADD_LIBRARY( orocos-rtt-traces-gnulinux SHARED "lttng_ust.c")
SET_TARGET_PROPERTIES( orocos-rtt-traces-gnulinux PROPERTIES
SOVERSION "${RTT_VERSION_MAJOR}.${RTT_VERSION_MINOR}"
VERSION "${RTT_VERSION}")
TARGET_LINK_LIBRARIES( orocos-rtt-traces-gnulinux ${Lttng_ust_LIBRARIES})
INSTALL(TARGETS orocos-rtt-traces-gnulinux
LIBRARY DESTINATION lib)
ENDIF(NOT OROBLD_DISABLE_LTTNG_UST)https://stackoverflow.com/questions/42862224
复制相似问题