[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aYILmgJfsgrQ06Jq@x1>
Date: Tue, 3 Feb 2026 11:52:10 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Ian Rogers <irogers@...gle.com>
Cc: Jiri Olsa <jolsa@...nel.org>, Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, Namhyung Kim <namhyung@...nel.org>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Adrian Hunter <adrian.hunter@...el.com>,
James Clark <james.clark@...aro.org>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] libperf build: Always place libperf includes first
On Mon, Feb 02, 2026 at 10:09:18PM -0800, Ian Rogers wrote:
> When building tools/perf the CFLAGS can contain a directory for the
> installed headers. As the headers may be being installed while
> building libperf.a this can cause headers to be partially installed
> and found in the include path while building an object file for
> libperf.a. The installed header may reference other installed headers
> that are missing given the partial nature of the install and then the
> build fails with a missing header file. Avoid this by ensuring the
> libperf source headers are always first in the CFLAGS.
>
> Fixes: 314350491810 ("libperf: Make libperf.a part of the perf build")
> Signed-off-by: Ian Rogers <irogers@...gle.com>
Thanks, applied to perf-tools-next,
- Arnaldo
> ---
> I started seeing these build failures in build-test post
> commit c3030995f23b ("perf sched stats: Add record and rawdump support")
> which increased the number of libperf header files and their
> dependencies. It isn't correct that this patch fixes that patch, the
> problem has existed as long as libperf which is why a much earlier
> commit is in the Fixes tag.
> ---
> tools/lib/perf/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/lib/perf/Makefile b/tools/lib/perf/Makefile
> index 9692d0742ed0..32301a1d8f0c 100644
> --- a/tools/lib/perf/Makefile
> +++ b/tools/lib/perf/Makefile
> @@ -50,9 +50,9 @@ INCLUDES = \
> -I$(srctree)/tools/include/uapi
>
> # Append required CFLAGS
> +override CFLAGS := $(INCLUDES) $(CFLAGS)
> override CFLAGS += -g -Werror -Wall
> override CFLAGS += -fPIC
> -override CFLAGS += $(INCLUDES)
> override CFLAGS += -fvisibility=hidden
> override CFLAGS += $(EXTRA_WARNINGS)
> override CFLAGS += $(EXTRA_CFLAGS)
> --
> 2.53.0.rc1.225.gd81095ad13-goog
>
Powered by blists - more mailing lists