我正在为arm交叉编译oprofile。

$ export CC=arm-linux-gnueabi-gcc
$ export CXX=arm-linux-gnueabi-g++
$ export CXXCPP='arm-linux-gnueabi-g++ -E'
$ export CPP='arm-linux-gnueabi-gcc -E'

我得到以下错误(见最后一行)
checking for ld... /usr/arm-linux-gnueabi/bin/ld
checking /usr/include/linux/perf_event.h usability... yes
checking /usr/include/linux/perf_event.h presence... yes
checking for /usr/include/linux/perf_event.h... yes
checking kernel supports perf_events... yes
checking whether PERF_RECORD_MISC_GUEST_KERNEL is defined in perf_event.h... yes
checking whether precise_ip is defined in perf_event.h... yes
checking whether malloc attribute is understood... no
checking whether __builtin_expect is understood... yes
checking for sched_setaffinity... yes
checking for perfmonctl... no
checking for poptGetContext in -lpopt... no

configure: error: popt library not found

如果我没有将CXX、CPP设置为跨编译器二进制文件,那么配置步骤完成得很好,没有错误。
我该怎么解决?

最佳答案

oprofile包具有以下依赖项
1)波普特
2)比努蒂尔斯
popt和binutils包提供了oprofile使用的库。所以先编译popt和binutils。你也可以参考下面的链接
http://bylnote.blogspot.in/2014/04/cross-compile-oprofile-for-arm-linux.html

关于linux - 为 ARM 编译oprofile时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43460884/

10-11 16:32