On Mon, Dec 14, 2020 at 2:57 AM Hui Zhu <teawater@xxxxxxxxx> wrote: > > From: Hui Zhu <teawaterz@xxxxxxxxxxxxxxxxx> > > Got an error when I built samples/bpf in a separate directory: > make O=../bk/ defconfig > make -j64 bzImage > make headers_install > make V=1 M=samples/bpf > ... > ... > make -C /home/teawater/kernel/linux/samples/bpf/../..//tools/build > CFLAGS= LDFLAGS= fixdep > make -f > /home/teawater/kernel/linux/samples/bpf/../..//tools/build/Makefile.build > dir=. obj=fixdep > make all_cmd > Warning: Kernel ABI header at 'tools/include/uapi/linux/netlink.h' > differs from latest version at 'include/uapi/linux/netlink.h' > Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' > differs from latest version at 'include/uapi/linux/if_link.h' > gcc > -Wp,-MD,samples/bpf/../../tools/testing/selftests/bpf/.cgroup_helpers.o.d > -Wall -O2 -Wmissing-prototypes -Wstrict-prototypes -I./usr/include > -I/home/teawater/kernel/linux/tools/testing/selftests/bpf/ > -I/home/teawater/kernel/linux/tools/lib/ > -I/home/teawater/kernel/linux/tools/include > -I/home/teawater/kernel/linux/tools/perf -DHAVE_ATTR_TEST=0 -c -o > samples/bpf/../../tools/testing/selftests/bpf/cgroup_helpers.o > /home/teawater/kernel/linux/samples/bpf/../../tools/testing/selftests/bpf/cgroup_helpers.c > /home/teawater/kernel/linux/samples/bpf/../../tools/testing/selftests/bpf/cgroup_helpers.c:315:1: > fatal error: opening dependency file > samples/bpf/../../tools/testing/selftests/bpf/.cgroup_helpers.o.d: No > such file or directory > > ls -al samples/bpf/../../tools/testing/selftests/bpf/ > ls: cannot access 'samples/bpf/../../tools/testing/selftests/bpf/': No > such file or directory > > There is no samples/bpf/../../tools/testing/selftests/bpf/ causing a > compilation error. > > This commit add a "make -p" before build files in > samples/bpf/../../tools/testing/selftests/bpf/ to handle the issue. > > Signed-off-by: Hui Zhu <teawaterz@xxxxxxxxxxxxxxxxx> > --- > samples/bpf/Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile > index aeebf5d12f32..5b940eedf2e8 100644 > --- a/samples/bpf/Makefile > +++ b/samples/bpf/Makefile > @@ -262,6 +262,7 @@ clean: > > $(LIBBPF): FORCE > # Fix up variables inherited from Kbuild that tools/ build system won't like > + mkdir -p $(obj)/../../tools/testing/selftests/bpf/ This is not a real fix, rather ad-hoc work-around. Let's try to understand why this path is necessary and do adjustments to either samples' or libbpf's Makefile to work in such cases. > $(MAKE) -C $(dir $@) RM='rm -rf' EXTRA_CFLAGS="$(TPROGS_CFLAGS)" \ > LDFLAGS=$(TPROGS_LDFLAGS) srctree=$(BPF_SAMPLES_PATH)/../../ O= > > -- > 2.17.1 >