Re: perf BPF/elfdep intermitent build problems

From: Wangnan (F)
Date: Wed Nov 18 2015 - 21:29:30 EST




On 2015/11/19 10:21, Wangnan (F) wrote:


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?


Tiggered part of your problem:

$ make

Auto-detecting system features:
... libelf: [ on ]
... bpf: [ on ]

CC libbpf.o
CC bpf.o
LD libbpf-in.o
LINK libbpf.a
LINK libbpf.so
$ make clean
CLEAN libbpf
CLEAN core-gen
$ make clean

Auto-detecting system features:
... libelf: [ on ]
... bpf: [ on ]

CLEAN libbpf
CLEAN core-gen

Feature check would be triggered the second time we make clean.

Will look into it.

Thank you.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/