linux libiberty.so和bfd.so一般放在那里,MIPS平台目标机安装Oprofile时出现error

在Debian下安装Oprofile

重要:应该使linux内核选项支持

在 .config 文件中设置CONFIG_PROFILING=y和CONFIG_OPROFILE=y。

重新编译,烧写。使用apt-get update && apt-get install oprofile oprofile-gui

或手工安装直接从网上下载oprofile-0.9.8(http://oprofile.sourceforge.net/)。

Oprofile默认需要这些库的支持:由GNUmaintain的libbfd.so及libiberty.so

编译和安装最新的biutils工具集。binutils-2.22.tar.gz.

在 /usr/local/lib/ 目录下生成静态库 libbfd.a和libiberty.a。

但oprofile需要动态库,所以需要修改oprofile/libopangent/Makefile文件使之支持静态库。

修改如下:

BFD_LIBS = -lbfd -liberty -ldl -lz => BFD_LIBS = -static-libbfd -static-libiberty -ldl -lz

其他的可修改

如果linux kernel 版本是2.6.35+,应该会出现以下错误:

operf_utils.cpp:735: error: ‘PERF_RECORD_MISC_GUEST_KERNEL’ was not declared in this scope

operf_utils.cpp:738: error: ‘PERF_RECORD_MISC_GUEST_USER’ was not declared in this scope

参考文件/usr/include/linux/perf_event.h

‘PERF_RECORD_MISC_GUEST_KERNEL’ 改成‘PERF_RECORD_MISC_KERNEL’,

‘PERF_RECORD_MISC_GUEST_USER’ 改成 ‘PERF_RECORD_MISC_USER’ .

即可成功编译。

另外在X86平台安装oprofile-0.9.9遇到的错误:

../include/sstream:37: error: using typedef-name âstd::stringbufâ after âclassâ(http://marc.info/?l=oprofile-list&m=121841939525369)

这是因为之前已经自动安装了oprofile-0.9.7版本,所以只需删掉以前的oprofile版本,安装重复以上步骤即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值