Thread (10 messages) flat view 10 messages, 4 authors, 2021-11-07

Re: [PATCH bpf-next] perf build: Install libbpf headers locally when building

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2021-11-06 20:12:57
Also in: bpf, lkml

Em Sat, Nov 06, 2021 at 04:29:16PM -0300, Arnaldo Carvalho de Melo escreveu:
Em Fri, Nov 05, 2021 at 11:38:50AM -0700, Andrii Nakryiko escreveu:
quoted
On Thu, Nov 4, 2021 at 7:02 PM Quentin Monnet [off-list ref] wrote:
quoted
API headers from libbpf should not be accessed directly from the
library's source directory. Instead, they should be exported with "make
install_headers". Let's adjust perf's Makefile to install those headers
locally when building libbpf.

Signed-off-by: Quentin Monnet <redacted>
---
Note: Sending to bpf-next because it's directly related to libbpf, and
to similar patches merged through bpf-next, but maybe Arnaldo prefers to
take it?
Arnaldo would know better how to thoroughly test it, so I'd prefer to
route this through perf tree. Any objections, Arnaldo?
Preliminary testing passed for 'BUILD_BPF_SKEL=1' with without
LIBBPF_DYNAMIC=1 (using the system's libbpf-devel to build perf), so far
so good, so I tentatively applied it, will see with the full set of
containers.
Because all the preliminary tests used O= to have that OUTPUT variable
set, when we do simply:

	make -C tools/perf

it breaks:

⬢[acme@toolbox perf]$ make -C tools clean > /dev/null 2>&1
⬢[acme@toolbox perf]$ make JOBS=1 -C tools/perf
make: Entering directory '/var/home/acme/git/perf/tools/perf'
  BUILD:   Doing 'make -j1' parallel build
  HOSTCC  fixdep.o
  HOSTLD  fixdep-in.o
  LINK    fixdep
<SNIP ABI sync warnings>

Auto-detecting system features:
...                         dwarf: [ on  ]
...            dwarf_getlocations: [ on  ]
...                         glibc: [ on  ]
...                        libbfd: [ on  ]
...                libbfd-buildid: [ on  ]
...                        libcap: [ on  ]
...                        libelf: [ on  ]
...                       libnuma: [ on  ]
...        numa_num_possible_cpus: [ on  ]
...                       libperl: [ on  ]
...                     libpython: [ on  ]
...                     libcrypto: [ on  ]
...                     libunwind: [ on  ]
...            libdw-dwarf-unwind: [ on  ]
...                          zlib: [ on  ]
...                          lzma: [ on  ]
...                     get_cpuid: [ on  ]
...                           bpf: [ on  ]
...                        libaio: [ on  ]
...                       libzstd: [ on  ]
...        disassembler-four-args: [ on  ]


  CC      fd/array.o
  LD      fd/libapi-in.o
  CC      fs/fs.o
  CC      fs/tracing_path.o
  CC      fs/cgroup.o
  LD      fs/libapi-in.o
  CC      cpu.o
  CC      debug.o
  CC      str_error_r.o
  LD      libapi-in.o
  AR      libapi.a
  CC      exec-cmd.o
  CC      help.o
  CC      pager.o
  CC      parse-options.o
  CC      run-command.o
  CC      sigchain.o
  CC      subcmd-config.o
  LD      libsubcmd-in.o
  AR      libsubcmd.a
  CC      core.o
  CC      cpumap.o
  CC      threadmap.o
  CC      evsel.o
  CC      evlist.o
  CC      mmap.o
  CC      zalloc.o
  CC      xyarray.o
  CC      lib.o
  LD      libperf-in.o
  AR      libperf.a
make[2]: *** No rule to make target 'libbpf', needed by 'libbpf/libbpf.a'.  Stop.
make[1]: *** [Makefile.perf:240: sub-make] Error 2
make: *** [Makefile:70: all] Error 2
make: Leaving directory '/var/home/acme/git/perf/tools/perf'
⬢[acme@toolbox perf]$

Trying to fix...

- Arnaldo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help