Re: [RFC PATCH v9 02/50] tools build: Add feature check for eBPF API

From: Arnaldo Carvalho de Melo
Date: Mon Jun 29 2015 - 15:41:33 EST


Em Mon, Jun 29, 2015 at 04:21:51PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Jun 26, 2015 at 02:15:07PM +0000, Wang Nan escreveu:
> > In this patch, eBPF API is checked by compiling a c source file which
> > uses fields in bpf_attr which will be used by libbpf.
> >
> > Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
> > Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
>
> So, I just applied this and after trying:
>
> [acme@felicio linux]$ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf
> ; make O=/tmp/build/perf -C tools/perf install-bin
> make: Entering directory `/home/acme/git/linux/tools/perf'
> BUILD: Doing 'make -j4' parallel build
>
> Auto-detecting system features:
> ... dwarf: [ on ]
> ... glibc: [ on ]
> ... gtk2: [ on ]
> ... libaudit: [ on ]
> ... libbfd: [ on ]
> ... libelf: [ on ]
> ... libnuma: [ on ]
> ... libperl: [ on ]
> ... libpython: [ on ]
> ... libslang: [ on ]
> ... libunwind: [ on ]
> ... libdw-dwarf-unwind: [ on ]
> ... zlib: [ on ]
> ... lzma: [ on ]
> ... bpf: [ OFF ]
>
> MKDIR /tmp/build/perf/util/
> CC /tmp/build/perf/util/abspath.o
>
> --------------------------------------------------------
>
> So, what should I do now? I want to have that OFF line turned to "on",
> so that I can test this stuff.
>
> But the changelog says nothing about it, lemme check the cover letter,
> but having to do that is annoying, one expects to have instructions
> related to some specific changeset in its comments...

So, when such build tests fail, we can see why by looking for a file
with a special name in the O= output dir:

[acme@felicio linux]$ cat /tmp/build/perf/feature/test-bpf.make.output
test-bpf.c:1:23: fatal error: linux/bpf.h: No such file or directory
#include <linux/bpf.h>
^
compilation terminated.
[acme@felicio linux]$

Right, one of the few things that could explain the failure, but:

[acme@felicio linux]$ find . -name bpf.h
./include/linux/bpf.h
./include/uapi/linux/bpf.h
[acme@felicio linux]$

So lemme try doing it in place:

[acme@felicio linux]$ make -C tools/perf/
make: Entering directory `/home/acme/git/linux/tools/perf'
BUILD: Doing 'make -j4' parallel build

Auto-detecting system features:
... dwarf: [ on ]
... glibc: [ on ]
... gtk2: [ on ]
... libaudit: [ on ]
... libbfd: [ on ]
... libelf: [ on ]
... libnuma: [ on ]
... libperl: [ on ]
... libpython: [ on ]
... libslang: [ on ]
... libunwind: [ on ]
... libdw-dwarf-unwind: [ on ]
... zlib: [ on ]
... lzma: [ on ]
... bpf: [ OFF ]


Doesn't work as well :-\

Looking at the following patches...

- 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 http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/