我希望用perf进行CTF转换。根据周围的稀缺信息,我发现我需要重新编译性能。
我已安装epel存储库并使用yum进行安装
{{ profile.first_name }}
表示运行时间以及
babeltrace and libbabeltrace
用于编译。
我克隆了git.kernel.org(作为替代方案,我也试过github.com/torvalds)并使用了
libunwind-devel slang-devel libbabeltrace-devel and asciidoc
用babeltrace支持构建perf。但是,我收到错误:
LIBBABELTRACE=1 make
所以我尝试在Makefile.config:780: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev
添加LIBBABELTRACE_DIR
,但这也失败了。检查Makefile.conf,我看到配置正在查找错误的位置:它被设置为使用具有明确定义的子目录(include和lib)的本地编译的babeltrace,但是从rpm(yum)安装时不使用这些子目录。 )。 rpm将它们放在/ usr / include / babeltrace和/ usr / lib64中。
修补Makefile也没有帮助。
因此,如果没有被迫使用本地编译的babeltrace,我有什么选择?
这适用于26个节点的群集,我真的更喜欢简单的“yum install”。因为这会在被损坏时简化重定时节点(我们用它们进行研究并定期破坏东西)并且不需要设置特定的环境。
附录:
我尝试从/usr
编译babeltrace:这也失败并出现错误:
https://github.com/efficios/babeltrace.git
并且,当然,popt.h没有定义babeltrace-cfg-cli-args.c:2390:29: error: ‘POPT_ARG_LONGLONG’ undeclared (first use in this function)
。
提前致谢。