Re: [PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
On Mon, Sep 30, 2019 at 08:16:55AM -0600, Shuah Khan wrote: > On 9/30/19 2:58 AM, Daniel Borkmann wrote: > > On Thu, Sep 26, 2019 at 07:13:44PM -0600, Shuah Khan wrote: > > > make TARGETS=bpf kselftest fails with: > > > > > > Makefile:127: tools/build/Makefile.include: No such file or directory > > > > > > When the bpf tool make is invoked from tools Makefile, srctree is > > > cleared and the current logic check for srctree equals to empty > > > string to determine srctree location from CURDIR. > > > > > > When the build in invoked from selftests/bpf Makefile, the srctree > > > is set to "." and the same logic used for srctree equals to empty is > > > needed to determine srctree. > > > > > > Check building_out_of_srctree undefined as the condition for both > > > cases to fix "make TARGETS=bpf kselftest" build failure. > > > > > > Signed-off-by: Shuah Khan > > > > Applied, thanks! > > Hi Daniel! > > Is the tree the patch went into included in the linux-next? Yes, both bpf and bpf-next are included in linux-next. Thanks, Daniel
Re: [PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
On 9/30/19 2:58 AM, Daniel Borkmann wrote: On Thu, Sep 26, 2019 at 07:13:44PM -0600, Shuah Khan wrote: make TARGETS=bpf kselftest fails with: Makefile:127: tools/build/Makefile.include: No such file or directory When the bpf tool make is invoked from tools Makefile, srctree is cleared and the current logic check for srctree equals to empty string to determine srctree location from CURDIR. When the build in invoked from selftests/bpf Makefile, the srctree is set to "." and the same logic used for srctree equals to empty is needed to determine srctree. Check building_out_of_srctree undefined as the condition for both cases to fix "make TARGETS=bpf kselftest" build failure. Signed-off-by: Shuah Khan Applied, thanks! Hi Daniel! Is the tree the patch went into included in the linux-next? thanks, -- Shuah
Re: [PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
On Thu, Sep 26, 2019 at 07:13:44PM -0600, Shuah Khan wrote: > make TARGETS=bpf kselftest fails with: > > Makefile:127: tools/build/Makefile.include: No such file or directory > > When the bpf tool make is invoked from tools Makefile, srctree is > cleared and the current logic check for srctree equals to empty > string to determine srctree location from CURDIR. > > When the build in invoked from selftests/bpf Makefile, the srctree > is set to "." and the same logic used for srctree equals to empty is > needed to determine srctree. > > Check building_out_of_srctree undefined as the condition for both > cases to fix "make TARGETS=bpf kselftest" build failure. > > Signed-off-by: Shuah Khan Applied, thanks!
Re: [PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
> On Sep 27, 2019, at 12:03 PM, Shuah Khan wrote: > > On 9/27/19 12:44 PM, Song Liu wrote: >> On Thu, Sep 26, 2019 at 6:14 PM Shuah Khan wrote: >>> >>> make TARGETS=bpf kselftest fails with: >>> >>> Makefile:127: tools/build/Makefile.include: No such file or directory >>> >>> When the bpf tool make is invoked from tools Makefile, srctree is >>> cleared and the current logic check for srctree equals to empty >>> string to determine srctree location from CURDIR. >>> >>> When the build in invoked from selftests/bpf Makefile, the srctree >>> is set to "." and the same logic used for srctree equals to empty is >>> needed to determine srctree. >>> >>> Check building_out_of_srctree undefined as the condition for both >>> cases to fix "make TARGETS=bpf kselftest" build failure. >>> >>> Signed-off-by: Shuah Khan >> The fix looks reasonable. Thanks! >> However, I am still seeing some failure: >> make TARGETS=bpf kselftest >> [...] >> test_verifier.c >> /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/test_stub.o >> /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/libbpf.a >> -lcap -lelf -lrt -lpthread -o >> /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/test_verifier >> make[3]: test_verifier.c: Command not found >> Is this just a problem with my setup? > > You are running into the second bpf failure because of the dependency > on the latest llvm. This is known issue with bpf test and it doesn't > compile on 5.4 and maybe even 5.3 > Thanks for the clarification. Acked-by: Song Liu
Re: [PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
On 9/27/19 12:44 PM, Song Liu wrote: On Thu, Sep 26, 2019 at 6:14 PM Shuah Khan wrote: make TARGETS=bpf kselftest fails with: Makefile:127: tools/build/Makefile.include: No such file or directory When the bpf tool make is invoked from tools Makefile, srctree is cleared and the current logic check for srctree equals to empty string to determine srctree location from CURDIR. When the build in invoked from selftests/bpf Makefile, the srctree is set to "." and the same logic used for srctree equals to empty is needed to determine srctree. Check building_out_of_srctree undefined as the condition for both cases to fix "make TARGETS=bpf kselftest" build failure. Signed-off-by: Shuah Khan The fix looks reasonable. Thanks! However, I am still seeing some failure: make TARGETS=bpf kselftest [...] test_verifier.c /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/test_stub.o /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/test_verifier make[3]: test_verifier.c: Command not found Is this just a problem with my setup? You are running into the second bpf failure because of the dependency on the latest llvm. This is known issue with bpf test and it doesn't compile on 5.4 and maybe even 5.3 You have upgrade to the bleeding edge llvm. thanks, -- Shuah
Re: [PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
On Thu, Sep 26, 2019 at 6:14 PM Shuah Khan wrote: > > make TARGETS=bpf kselftest fails with: > > Makefile:127: tools/build/Makefile.include: No such file or directory > > When the bpf tool make is invoked from tools Makefile, srctree is > cleared and the current logic check for srctree equals to empty > string to determine srctree location from CURDIR. > > When the build in invoked from selftests/bpf Makefile, the srctree > is set to "." and the same logic used for srctree equals to empty is > needed to determine srctree. > > Check building_out_of_srctree undefined as the condition for both > cases to fix "make TARGETS=bpf kselftest" build failure. > > Signed-off-by: Shuah Khan The fix looks reasonable. Thanks! However, I am still seeing some failure: make TARGETS=bpf kselftest [...] test_verifier.c /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/test_stub.o /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /data/users/songliubraving/kernel/linux-git/tools/testing/selftests/bpf/test_verifier make[3]: test_verifier.c: Command not found Is this just a problem with my setup? Thanks, Song
[PATCH] tools: bpf: Use !building_out_of_srctree to determine srctree
make TARGETS=bpf kselftest fails with: Makefile:127: tools/build/Makefile.include: No such file or directory When the bpf tool make is invoked from tools Makefile, srctree is cleared and the current logic check for srctree equals to empty string to determine srctree location from CURDIR. When the build in invoked from selftests/bpf Makefile, the srctree is set to "." and the same logic used for srctree equals to empty is needed to determine srctree. Check building_out_of_srctree undefined as the condition for both cases to fix "make TARGETS=bpf kselftest" build failure. Signed-off-by: Shuah Khan --- tools/bpf/Makefile | 6 +- tools/lib/bpf/Makefile | 6 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/bpf/Makefile b/tools/bpf/Makefile index fbf5e4a0cb9c..5d1995fd369c 100644 --- a/tools/bpf/Makefile +++ b/tools/bpf/Makefile @@ -12,7 +12,11 @@ INSTALL ?= install CFLAGS += -Wall -O2 CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/include/uapi -I$(srctree)/include -ifeq ($(srctree),) +# This will work when bpf is built in tools env. where srctree +# isn't set and when invoked from selftests build, where srctree +# is set to ".". building_out_of_srctree is undefined for in srctree +# builds +ifndef building_out_of_srctree srctree := $(patsubst %/,%,$(dir $(CURDIR))) srctree := $(patsubst %/,%,$(dir $(srctree))) endif diff --git a/tools/lib/bpf/Makefile b/tools/lib/bpf/Makefile index c6f94cffe06e..20772663d3e1 100644 --- a/tools/lib/bpf/Makefile +++ b/tools/lib/bpf/Makefile @@ -8,7 +8,11 @@ LIBBPF_MAJOR_VERSION := $(firstword $(subst ., ,$(LIBBPF_VERSION))) MAKEFLAGS += --no-print-directory -ifeq ($(srctree),) +# This will work when bpf is built in tools env. where srctree +# isn't set and when invoked from selftests build, where srctree +# is a ".". building_out_of_srctree is undefined for in srctree +# builds +ifndef building_out_of_srctree srctree := $(patsubst %/,%,$(dir $(CURDIR))) srctree := $(patsubst %/,%,$(dir $(srctree))) srctree := $(patsubst %/,%,$(dir $(srctree))) -- 2.20.1