Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1174866
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC PATCH v9 02/50] tools build: Add feature check for eBPF API |
| Date | 2015-07-01 03:30 +0200 |
| Message-ID | <pHf0B-2A9-5@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <pFCXo-1xk-7@gated-at.bofh.it> <pGMUF-3RB-5@gated-at.bofh.it> <pGNe1-4gH-9@gated-at.bofh.it> <pGTCN-5g8-3@gated-at.bofh.it> <pH4RA-4H3-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 2015/6/30 22:34, Arnaldo Carvalho de Melo wrote: > Em Tue, Jun 30, 2015 at 10:29:08AM +0800, Wangnan (F) escreveu: >> On 2015/6/30 3:41, Arnaldo Carvalho de Melo wrote: >>>> 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]$ > >> This patch tries to check the version of bpf.h, because old bpf.h doesn't >> define 'kern_version' field for 'union bpf_attr'. > Ok, I realise it needs to find some bpf.h file, but where should it look > for it? What needs to be installed so that this feature test succeeds? > >> I think the problem you meet is caused by missing of kernel headers in your >> host system environment. After patch 'perf tools: Make perf depend on >> libbpf' > What is precise path to this bpf.h file? What was the cset that > introduced it and in what upstream branch is it? The exact bpf.h patch 2/50 trying to find should be /usr/include/linux/bpf.h, which can be found from /tmp/build/perf/feature/test-bpf.d: /tmp/build/perf/feature/test-bpf.bin: test-bpf.c \ /usr/include/stdc-predef.h \ /usr/include/bits/predefs.h \ /usr/include/linux/bpf.h \ /usr/include/linux/types.h \ .... After applying 3/50, due to the setting of FEATURE_CHECK_CFLAGS-bpf, it becomes /path/to/kernel/include/uapi/linux/bpf.h, so it won't fail again: /tmp/build/bpf/feature/test-bpf.bin: test-bpf.c \ /usr/include/stdc-predef.h \ /usr/include/bits/predefs.h \ /path/to/kernel/include/uapi/linux/bpf.h \ /path/to/kernel/tools/include/linux/types.h \ ... >> this checking should always success because it adds required headers >> into MANIFEST and setup FEATURE_CHECK_CFLAGS-bpf. >> >> Also, after applying 3/50 you should see this: > IIRC I tried yesterday, will try again later and let you know, but > when introducing a feature test, please state what is required to be > installed in a system so that it can succeed, where to obtain it, etc. > > It is possible to figure this out, but sometimes doing that takes time > that would be beter invested in processing further patches... > > - Arnaldo > >> # make O=/tmp/build/bpf/ -C tools/lib/bpf/ > >> Auto-detecting system features: >> ... libelf: [ on ] >> ... libelf-getphdrnum: [ on ] >> ... libelf-mmap: [ on ] >> ... bpf: [ on ] >> >> make: Entering directory `/home/wn/kernel-hydrogen/tools/lib/bpf' >> CC /tmp/build/bpf/libbpf.o >> LD /tmp/build/bpf/libbpf-in.o >> LINK /tmp/build/bpf/libbpf.a >> LINK /tmp/build/bpf/libbpf.so >> make: Leaving directory `/home/wn/kernel/tools/lib/bpf' >> >> Even if in perf checking bpf should fail in your machine now, checking bpf >> feature in >> libbpf should success because when build libbpf I have added following >> setting to >> tools/lib/bpf/Makefile: >> >> INCLUDES = -I. -I$(srctree)/tools/include >> -I$(srctree)/arch/$(ARCH)/include/uapi -I$(srctree)/include/uapi >> FEATURE_CHECK_CFLAGS-bpf = $(INCLUDES) >> >> Do you want me to squash 2/30 and 3/50 together and append 'bpf' checker >> into FEATURE_TESTS in >> tools/build/Makefile.feature in 23/50? Then there should be less confusion: >> when compiling perf >> before 23/50, bpf feature will never be checked then. >> >> Thank you. >> >>> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: [RFC PATCH v9 02/50] tools build: Add feature check for eBPF API "Wangnan (F)" <wangnan0@huawei.com> - 2015-06-30 04:40 +0200 Re: [RFC PATCH v9 02/50] tools build: Add feature check for eBPF API "Wangnan (F)" <wangnan0@huawei.com> - 2015-07-01 03:30 +0200
csiph-web