Re: bpf selftest compiling error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux