On Thu, May 12, 2022 at 06:12:36PM -0700, Vincent Li wrote: > On Thu, May 12, 2022 at 5:49 PM Vincent Li <vincent.mc.li@xxxxxxxxx> wrote: > > > > Hi, > > > > I cloned the bpf-next and tried to compile the bpf selftest. > > > > first I got error > > > > " > > CC /usr/src/bpf > > next/tools/testing/selftests/bpf/tools/build/bpftool/xlated_dumper.o > > > > make[1]: *** No rule to make target > > '/usr/src/bpf-next/tools/include/asm-generic/bitops/find.h', needed by > > '/usr/src/bpf-next/tools/testing/selftests/bpf/tools/build/bpftool/btf_dumper.o'. > > Stop. I also ran into the same issue on bpf-next, and the error seems rather absurd as 1. asm-generic/bitops/find.h was removed back in 47d8c15615c0a "include: move find.h from asm_generic to linux", so perhaps this error has something to do with Makefile.asm-generic 2. normal way of building bpftool with `make tools/bpf/bpftool` still works fine Anyway removing ARCH= CROSS_COMPILE= in the bpf selftests Makefile (reverting change added in ea79020a2d9e "selftests/bpf: Enable cross-building with clang") can be used as a workaround to get the build working again. Adding the commit author to the thread to see if there is better approach available. Best, Shung-Hsi > > I could not find find.h in > > /usr/src/bpf-next/tools/include/asm-generic/bitops/find.h but I found > > it in /usr/src/bpf-next/tools/include/linux/find.h, copied it to > > /usr/src/bpf-next/tools/include/asm-generic/bitops, seems resolved the > > problem, > > > > then I got another error below, > > > > CLNG-BPF [test_maps] map_kptr.o > > > > progs/map_kptr.c:7:29: error: unknown attribute 'btf_type_tag' ignored > > [-Werror,-Wunknown-attributes] > > > > struct prog_test_ref_kfunc __kptr *unref_ptr; > > > > ^~~~~~ > > > > /usr/src/bpf-next/tools/testing/selftests/bpf/tools/include/bpf/bpf_helpers.h:176:31: > > note: expanded from macro '__kptr' > > > > #define __kptr __attribute__((btf_type_tag("kptr"))) > > > > ^~~~~~~~~~~~~~~~~~~~ > > > > progs/map_kptr.c:8:29: error: unknown attribute 'btf_type_tag' ignored > > [-Werror,-Wunknown-attributes] > > > > struct prog_test_ref_kfunc __kptr_ref *ref_ptr; > > > > ^~~~~~~~~~ > > > > /usr/src/bpf-next/tools/testing/selftests/bpf/tools/include/bpf/bpf_helpers.h:177:35: > > note: expanded from macro '__kptr_ref' > > > > #define __kptr_ref __attribute__((btf_type_tag("kptr_ref"))) > > " > > > > my clang is 12.0.1 and installed new clang from llvm github repository > > > > clang version 15.0.0 (https://github.com/llvm/llvm-project.git > > e91a73de24d60954700d7ac0293c050ab2cbe90b) > > > > it resolved the problem, but now I got error > > > > GEN-SKEL [test_progs] test_bpf_nf.skel.h > > > > libbpf: failed to find BTF info for global/extern symbol 'bpf_skb_ct_lookup' > > > > Error: failed to link > > '/usr/src/bpf-next/tools/testing/selftests/bpf/test_bpf_nf.o': Unknown > > error -2 (-2) > > > > make: *** [Makefile:508: > > /usr/src/bpf-next/tools/testing/selftests/bpf/test_bpf_nf.skel.h] > > Error 254 > > > > running out of ideas on how to fix the compiling error. I hope I am > > not doing something wrong :) > > I recompiled the bpf-next kernel tree after clang 15 installation with > make bzImage; make modules; make and then recompiled bpf selftest, all > compiling errors are gone, sorry for the noise.