2023-04-25 10:56:19

by James Clark

[permalink] [raw]
Subject: [PATCH] perf build: Fix unescaped # in perf build-test

With the following bash and make versions:

$ make --version
GNU Make 4.2.1
Built for aarch64-unknown-linux-gnu

$ bash --version
GNU bash, version 5.0.17(1)-release (aarch64-unknown-linux-gnu)

This error is encountered when running the build-test target:

$ make -C tools/perf build-test
tests/make:181: *** unterminated call to function 'shell': missing ')'. Stop.
make: *** [Makefile:103: build-test] Error 2

Fix it by escaping the # which was causing make to interpret the rest of
the line as a comment leaving the unclosed opening bracket.

Fixes: 56d5229471ee ("tools build: Pass libbpf feature only if libbpf 1.0+")
Signed-off-by: James Clark <[email protected]>
---
tools/perf/tests/make | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index d75876126631..8dd3f8090352 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -178,7 +178,7 @@ run += make_install_prefix_slash
# run += make_install_pdf
run += make_minimal

-old_libbpf := $(shell echo "#include <bpf/libbpf.h>" | $(CC) -E -dM -x c -| egrep -q "define[[:space:]]+LIBBPF_MAJOR_VERSION[[:space:]]+0{1}")
+old_libbpf := $(shell echo '\#include <bpf/libbpf.h>' | $(CC) -E -dM -x c -| egrep -q "define[[:space:]]+LIBBPF_MAJOR_VERSION[[:space:]]+0{1}")

ifneq ($(old_libbpf),)
run += make_libbpf_dynamic
--
2.34.1


2023-04-29 02:00:02

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf build: Fix unescaped # in perf build-test

Em Tue, Apr 25, 2023 at 11:44:13AM +0100, James Clark escreveu:
> With the following bash and make versions:
>
> $ make --version
> GNU Make 4.2.1
> Built for aarch64-unknown-linux-gnu
>
> $ bash --version
> GNU bash, version 5.0.17(1)-release (aarch64-unknown-linux-gnu)
>
> This error is encountered when running the build-test target:

Thanks, applied.

- Arnaldo


> $ make -C tools/perf build-test
> tests/make:181: *** unterminated call to function 'shell': missing ')'. Stop.
> make: *** [Makefile:103: build-test] Error 2
>
> Fix it by escaping the # which was causing make to interpret the rest of
> the line as a comment leaving the unclosed opening bracket.
>
> Fixes: 56d5229471ee ("tools build: Pass libbpf feature only if libbpf 1.0+")
> Signed-off-by: James Clark <[email protected]>
> ---
> tools/perf/tests/make | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/tests/make b/tools/perf/tests/make
> index d75876126631..8dd3f8090352 100644
> --- a/tools/perf/tests/make
> +++ b/tools/perf/tests/make
> @@ -178,7 +178,7 @@ run += make_install_prefix_slash
> # run += make_install_pdf
> run += make_minimal
>
> -old_libbpf := $(shell echo "#include <bpf/libbpf.h>" | $(CC) -E -dM -x c -| egrep -q "define[[:space:]]+LIBBPF_MAJOR_VERSION[[:space:]]+0{1}")
> +old_libbpf := $(shell echo '\#include <bpf/libbpf.h>' | $(CC) -E -dM -x c -| egrep -q "define[[:space:]]+LIBBPF_MAJOR_VERSION[[:space:]]+0{1}")
>
> ifneq ($(old_libbpf),)
> run += make_libbpf_dynamic
> --
> 2.34.1
>

--

- Arnaldo