On 2015/11/19 9:24, Wangnan (F) wrote:
On 2015/11/19 6:44, Arnaldo Carvalho de Melo wrote:
Have you guys ever saw this?
[acme@zoo linux]$ alias m
alias m='perf stat -e cycles make O=/tmp/build/perf -C tools/perf
install-bin'
[acme @zoo linux]$ m
make: Entering directory '/home/git/linux/tools/perf'
BUILD: Doing 'make -j4' parallel build
make[2]: Nothing to be done for 'fixdep'.
CC /tmp/build/perf/util/machine.o
LD /tmp/build/perf/util/libperf-in.o
No libelf found
BPF API too old
This error message means the kernel header in rootfs is too old,
causes tools/build/feature/test-bpf.c failed to be built.
Strange... even in feature detection it should check BPF API through
kernel source where you are using to build perf...
I guess you are not using NFS or share it with other people?
Makefile:191: recipe for target 'elfdep' failed
make[2]: *** [elfdep] Error 255
make[2]: *** Waiting for unfinished jobs....
Makefile:194: recipe for target 'bpfdep' failed
make[2]: *** [bpfdep] Error 255
Makefile.perf:434: recipe for target '/tmp/build/perf/libbpf.a' failed
make[1]: *** [/tmp/build/perf/libbpf.a] Error 2
make[1]: *** Waiting for unfinished jobs....
LD /tmp/build/perf/libperf-in.o
Makefile:87: recipe for target 'install-bin' failed
make: *** [install-bin] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
Performance counter stats for 'make O=/tmp/build/perf -C tools/perf
install-bin':
10,265,920,369 cycles
3.002799545 seconds time elapsed
[acme@zoo linux]$
If I go and try doing a clean on the libbpf dir I see another problem:
[acme@zoo linux]$ cd tools/lib/bpf
[acme@zoo bpf]$ make clean
Auto-detecting system features:
... libelf: [ OFF ]
... bpf: [ OFF ]
CLEAN libbpf
CLEAN core-gen
[acme@zoo bpf]$
No need for feature detection when doing a plain 'make clean', right?
Right. It should be
$ cd tools/lib/bpf
$ make clean
CLEAN libbpf
CLEAN core-gen
$
After cleaning can you trigger this problem again?