Re: perf BPF/elfdep intermitent build problems

From: Wangnan (F)
Date: Wed Nov 18 2015 - 20:25:47 EST

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
[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.

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

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?

But then, after cleaning it again, and entering tools/perf to do a 'make
clean' as well, it does the feature detection at a second 'make clean'
and this time it shoes [ on ] for both libelf and bpf, and this time
I manage to build perf.

This is all intermitent, will eventually try to drill down if you don't
fix it first

First let me try to trigger it in my environment...

Thank you.

- Arnaldo

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at