diff mbox series

perf build: Error for BPF skeletons without LIBBPF

Message ID 20220520211826.1828180-1-irogers@google.com (mailing list archive)
State Not Applicable
Delegated to: BPF
Headers show
Series perf build: Error for BPF skeletons without LIBBPF | expand

Checks

Context Check Description
bpf/vmtest-bpf-next-VM_Test-3 fail Logs for Kernel LATEST on z15 with gcc
bpf/vmtest-bpf-next-PR fail PR summary
bpf/vmtest-bpf-next-VM_Test-1 success Logs for Kernel LATEST on ubuntu-latest with gcc
bpf/vmtest-bpf-next-VM_Test-2 success Logs for Kernel LATEST on ubuntu-latest with llvm-15
netdev/tree_selection success Not a local patch

Commit Message

Ian Rogers May 20, 2022, 9:18 p.m. UTC
LIBBPF requires LIBELF so doing "make BUILD_BPF_SKEL=1 NO_LIBELF=1"
fails with compiler errors about missing declarations. Similar could
happen if libbpf feature detection fails. Prefer to error when
BUILD_BPF_SKEL is enabled but LIBBPF isn't.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/Makefile.config | 3 +++
 1 file changed, 3 insertions(+)

Comments

Jiri Olsa May 23, 2022, 9:12 a.m. UTC | #1
On Fri, May 20, 2022 at 02:18:26PM -0700, Ian Rogers wrote:
> LIBBPF requires LIBELF so doing "make BUILD_BPF_SKEL=1 NO_LIBELF=1"
> fails with compiler errors about missing declarations. Similar could
> happen if libbpf feature detection fails. Prefer to error when
> BUILD_BPF_SKEL is enabled but LIBBPF isn't.
> 
> Signed-off-by: Ian Rogers <irogers@google.com>

Acked-by: Jiri Olsa <jolsa@kernel.org>

thanks,
jirka

> ---
>  tools/perf/Makefile.config | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index d9b699ad402c..bedb734bd6f2 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -664,6 +664,9 @@ ifdef BUILD_BPF_SKEL
>    ifeq ($(feature-clang-bpf-co-re), 0)
>      dummy := $(error Error: clang too old/not installed. Please install recent clang to build with BUILD_BPF_SKEL)
>    endif
> +  ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
> +    dummy := $(error Error: BPF skeleton support requires libbpf)
> +  endif
>    $(call detected,CONFIG_PERF_BPF_SKEL)
>    CFLAGS += -DHAVE_BPF_SKEL
>  endif
> -- 
> 2.36.1.124.g0e6072fb45-goog
>
Arnaldo Carvalho de Melo May 23, 2022, 12:34 p.m. UTC | #2
Em Mon, May 23, 2022 at 11:12:16AM +0200, Jiri Olsa escreveu:
> On Fri, May 20, 2022 at 02:18:26PM -0700, Ian Rogers wrote:
> > LIBBPF requires LIBELF so doing "make BUILD_BPF_SKEL=1 NO_LIBELF=1"
> > fails with compiler errors about missing declarations. Similar could
> > happen if libbpf feature detection fails. Prefer to error when
> > BUILD_BPF_SKEL is enabled but LIBBPF isn't.
> > 
> > Signed-off-by: Ian Rogers <irogers@google.com>
> 
> Acked-by: Jiri Olsa <jolsa@kernel.org>

Thanks, applied.

- Arnaldo

 
> thanks,
> jirka
> 
> > ---
> >  tools/perf/Makefile.config | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> > index d9b699ad402c..bedb734bd6f2 100644
> > --- a/tools/perf/Makefile.config
> > +++ b/tools/perf/Makefile.config
> > @@ -664,6 +664,9 @@ ifdef BUILD_BPF_SKEL
> >    ifeq ($(feature-clang-bpf-co-re), 0)
> >      dummy := $(error Error: clang too old/not installed. Please install recent clang to build with BUILD_BPF_SKEL)
> >    endif
> > +  ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
> > +    dummy := $(error Error: BPF skeleton support requires libbpf)
> > +  endif
> >    $(call detected,CONFIG_PERF_BPF_SKEL)
> >    CFLAGS += -DHAVE_BPF_SKEL
> >  endif
> > -- 
> > 2.36.1.124.g0e6072fb45-goog
> >
diff mbox series

Patch

diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index d9b699ad402c..bedb734bd6f2 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -664,6 +664,9 @@  ifdef BUILD_BPF_SKEL
   ifeq ($(feature-clang-bpf-co-re), 0)
     dummy := $(error Error: clang too old/not installed. Please install recent clang to build with BUILD_BPF_SKEL)
   endif
+  ifeq ($(filter -DHAVE_LIBBPF_SUPPORT, $(CFLAGS)),)
+    dummy := $(error Error: BPF skeleton support requires libbpf)
+  endif
   $(call detected,CONFIG_PERF_BPF_SKEL)
   CFLAGS += -DHAVE_BPF_SKEL
 endif