Orocos LTTng 符号查找错误:/path/to/liborocos-rtt-traces-gnulinux.s



我正在尝试部署具有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,但没有运气。我关注的一些线索:

  • 符号查找错误 (linux - c++(

  • https://lists.lttng.org/pipermail/lttng-dev/2014-March/022571.html

  • https://www.mail-archive.com/lttng-dev@lists.lttng.org/msg05580.html

  • https://linux.die.net/man/8/ld.so

修复了它,问题是 rtt-lttng 没有找到 lttng-ust 库,所以我必须找到并指定位置。

我只需要更改 rtt-lttng 中跟踪 directoy 的 CMakeList :

### 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)

相关内容

  • 没有找到相关文章

最新更新