On Tue, Jun 23, 2020 at 11:46 PM Li Xinhai <lixinhai.lxh@xxxxxxxxx> wrote: > > - information of machine > Linux localhost.localdomain 4.18.0-193.6.3.el8_2.x86_64 #1 SMP Wed Jun 10 11:09:32 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux > > - configurations > make defconfig > make kvmconfig > > - failed logs on v5.6 > ``` > LINK /mnt/build/1_build/05_build_v5.6/bpf/bpftool//libbpf/libbpf.a > LINK /mnt/build/1_build/05_build_v5.6/bpf/bpftool/bpftool > DESCEND runqslower > GEN /mnt/build/0_code/0_linux/linux/tools/bpf/runqslower/.output/bpf_helper_defs.h > make[4]: *** No rule to make target '/mnt/build/0_code/0_linux/linux/tools/include/linux/build_bug.h', needed by '/mnt/build/0_code/0_linux/linux/tools/bpf/runqslower/.output/staticobjs/libbpf.o'. Stop. > make[3]: *** [Makefile:183: /mnt/build/0_code/0_linux/linux/tools/bpf/runqslower/.output/staticobjs/libbpf-in.o] Error 2 > make[2]: *** [Makefile:79: .output/libbpf.a] Error 2 > make[1]: *** [Makefile:119: runqslower] Error 2 > make: *** [Makefile:68: bpf] Error 2 > ``` > > - failed logs on v5.7 > ``` > In file included from /mnt/build/0_code/0_linux/linux/tools/include/linux/build_bug.h:5, > from /mnt/build/0_code/0_linux/linux/tools/include/linux/kernel.h:8, > from /mnt/build/0_code/0_linux/linux/kernel/bpf/disasm.h:10, > from /mnt/build/0_code/0_linux/linux/kernel/bpf/disasm.c:8: > /mnt/build/0_code/0_linux/linux/kernel/bpf/disasm.c: In function ‘__func_get_name’: > /mnt/build/0_code/0_linux/linux/tools/include/linux/compiler.h:37:38: warning: nested extern declaration of ‘__compiletime_assert_0’ [-Wnested-externs] > _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > ^~~~~~~~~~~~~~~~~~~~~ > /mnt/build/0_code/0_linux/linux/tools/include/linux/compiler.h:16:15: note: in definition of macro ‘__compiletime_assert’ > extern void prefix ## suffix(void) __compiletime_error(msg); \ > ^~~~~~ > /mnt/build/0_code/0_linux/linux/tools/include/linux/compiler.h:37:2: note: in expansion of macro ‘_compiletime_assert’ > _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) > ^~~~~~~~~~~~~~~~~~~ > /mnt/build/0_code/0_linux/linux/tools/include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’ > #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) > ^~~~~~~~~~~~~~~~~~ > /mnt/build/0_code/0_linux/linux/tools/include/linux/build_bug.h:50:2: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ > BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) > ^~~~~~~~~~~~~~~~ > /mnt/build/0_code/0_linux/linux/kernel/bpf/disasm.c:20:2: note: in expansion of macro ‘BUILD_BUG_ON’ > BUILD_BUG_ON(ARRAY_SIZE(func_id_str) != __BPF_FUNC_MAX_ID); > ^~~~~~~~~~~~ > ``` > This one I've seen and I have no idea why this is happening (suddenly) and how to fix that. > and > ``` > LINK /mnt/build/0_code/0_linux/linux/tools/bpf/runqslower/.output/libbpf.a > GEN vmlinux.h > BPF runqslower.bpf.o > In file included from runqslower.bpf.c:3: > .output/vmlinux.h:5:15: error: attribute 'preserve_access_index' is not supported by '#pragma clang attribute' > #pragma clang attribute push (__attribute__((preserve_access_index)), apply_to = record) > ^ > .output/vmlinux.h:98607:15: error: '#pragma clang attribute pop' with no matching '#pragma clang attribute push' > #pragma clang attribute pop > ^ > 2 errors generated. > make[2]: *** [Makefile:57: .output/runqslower.bpf.o] Error 1 > make[1]: *** [Makefile:119: runqslower] Error 2 > make: *** [Makefile:68: bpf] Error 2 > ``` > This just means you don't have recent-enough Clang on your system. You need Clang 10 at least. > On this same machine and with same configuration, I've tried v5.4 and v5.5, no failures. > >