All of lore.kernel.org
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	Dmitry Vyukov <dvyukov@google.com>,
	Ian Rogers <irogers@google.com>,
	James Clark <james.clark@linaro.org>,
	Jiri Olsa <jolsa@kernel.org>,
	Kan Liang <kan.liang@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-perf-users@vger.kernel.org
Subject: Re: [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds
Date: Fri, 4 Apr 2025 13:30:14 -0700	[thread overview]
Message-ID: <Z_BBVgJ1nZB_0klZ@z2> (raw)
In-Reply-To: <Z_ArFrHU7hMNUOv3@x1>

On Fri, Apr 04, 2025 at 03:55:18PM -0300, Arnaldo Carvalho de Melo wrote:
> The tools/build/feature/test-all.c file tries to detect the expected,
> most common set of libraries/features we expect to have available to
> build perf with.
> 
> At some point libunwind was deemed not to be part of that set of
> libraries, but the patches making it to be opt-in ended up forgetting
> some details, fix one more.
> 
> Testing it:
> 
>   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
>   $ rpm -q libunwind-devel
>   libunwind-devel-1.8.0-3.fc40.x86_64
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   ...                               libunwind: [ on  ]
>     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libunwind.o
>     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
>     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libunwind-local.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libunwind.o
> 	  libunwind-x86_64.so.8 => /lib64/libunwind-x86_64.so.8 (0x00007f615a549000)
> 	  libunwind.so.8 => /lib64/libunwind.so.8 (0x00007f615a52f000)
>   $ sudo rpm -e libunwind-devel
>   $ rm -rf /tmp/build/$(basename $PWD)/ ; mkdir -p /tmp/build/$(basename $PWD)/
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR
>   ...                               libunwind: [ OFF ]
>     CC      /tmp/build/perf-tools-next/arch/x86/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/arch/x86/util/unwind-libdw.o
>     CC      /tmp/build/perf-tools-next/util/arm64-frame-pointer-unwind-support.o
>     CC      /tmp/build/perf-tools-next/tests/dwarf-unwind.o
>     CC      /tmp/build/perf-tools-next/util/unwind-libdw.o
>   $
> 
> Should be in a separate patch, but tired now, so also adding a message
> about the need to use LIBUNWIND=1 in the output when its not available,
> so done here as well.
> 
> So, now when the devel files are not available we get:
> 
>   $ make -k LIBUNWIND=1 CORESIGHT=1 O=/tmp/build/$(basename $PWD)/ -C tools/perf install-bin |& grep unwind && ldd ~/bin/perf | grep unwind
>   Makefile.config:653: No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now
>   ...                               libunwind: [ OFF ]
>   $
> 
> Fixes: 13e17c9ff49119aa ("perf build: Make libunwind opt-in rather than opt-out")
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Dmitry Vyukov <dvyukov@google.com>
> Cc: Ian Rogers <irogers@google.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: James Clark <james.clark@linaro.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Kan Liang <kan.liang@linux.intel.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Link: https://lore.kernel.org/lkml/Z_AnsW9oJzFbhIFC@x1
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
>  tools/build/Makefile.feature | 1 -
>  tools/perf/Makefile.config   | 4 +++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index 1931b6321314684c..54c8adfb94662c03 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -87,7 +87,6 @@ FEATURE_TESTS_BASIC :=                  \
>          libtracefs                      \
>          libcpupower                     \
>          libcrypto                       \
> -        libunwind                       \
>          pthread-attr-setaffinity-np     \
>          pthread-barrier     		\
>          reallocarray                    \
> diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
> index eea95c6c0c71f76e..8ff1d8ade73fc061 100644
> --- a/tools/perf/Makefile.config
> +++ b/tools/perf/Makefile.config
> @@ -624,6 +624,8 @@ endif
>  ifndef NO_LIBUNWIND
>    have_libunwind :=
>  
> +  $(call feature_check,libunwind)
> +
>    $(call feature_check,libunwind-x86)
>    ifeq ($(feature-libunwind-x86), 1)
>      $(call detected,CONFIG_LIBUNWIND_X86)
> @@ -648,7 +650,7 @@ ifndef NO_LIBUNWIND
>    endif
>  
>    ifneq ($(feature-libunwind), 1)
> -    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR)
> +    $(warning No libunwind found. Please install libunwind-dev[el] >= 1.1 and/or set LIBUNWIND_DIR and set LIBUNWIND=1 in the make command line as it is opt-in now)

I think this message is only visible if users already give LIBUNWIND=1.

Thanks,
Namhyung


>      NO_LOCAL_LIBUNWIND := 1
>    else
>      have_libunwind := 1
> -- 
> 2.48.1
> 

  reply	other threads:[~2025-04-04 20:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-04 18:55 [PATCH 1/1] tools build: Don't set libunwind as available if test-all.c build succeeds Arnaldo Carvalho de Melo
2025-04-04 20:30 ` Namhyung Kim [this message]
2025-04-07 19:48   ` Arnaldo Carvalho de Melo
2025-04-06 17:36 ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z_BBVgJ1nZB_0klZ@z2 \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=dvyukov@google.com \
    --cc=irogers@google.com \
    --cc=james.clark@linaro.org \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.