From: Leo Yan <leo.yan@linaro.org>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: James Clark <james.clark@arm.com>,
mathieu.poirier@linaro.org, coresight@lists.linaro.org,
linux-perf-users@vger.kernel.org, mike.leach@linaro.org,
suzuki.poulose@arm.com, Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] perf build: Report failure for testing feature libopencsd
Date: Thu, 2 Sep 2021 20:45:29 +0800 [thread overview]
Message-ID: <20210902124529.GH303522@leoy-ThinkPad-X240s> (raw)
In-Reply-To: <YTDB/VuANx5c+5sk@kernel.org>
On Thu, Sep 02, 2021 at 09:22:21AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Sep 02, 2021 at 04:18:00PM +0800, Leo Yan escreveu:
> > When build perf tool with passing option 'CORESIGHT=1' explicitly, if
> > the feature test fails for library libopencsd, the build doesn't
> > complain the feature failure and continue to build the tool with
> > disabling the CoreSight feature insteadly.
> >
> > This patch changes the building behaviour, when build perf tool with the
> > option 'CORESIGHT=1' and detect the failure for testing feature
> > libopencsd, the build process will be aborted and it shows the complaint
> > info.
>
> Thanks, added some committer notes to show that it now works:
>
> commit 8fb36b1f54873870262810d3db10526559e1d6c2
> Author: Leo Yan <leo.yan@linaro.org>
> Date: Thu Sep 2 16:18:00 2021 +0800
>
> perf build: Report failure for testing feature libopencsd
>
> When build perf tool with passing option 'CORESIGHT=1' explicitly, if
> the feature test fails for library libopencsd, the build doesn't
> complain the feature failure and continue to build the tool with
> disabling the CoreSight feature insteadly.
>
> This patch changes the building behaviour, when build perf tool with the
> option 'CORESIGHT=1' and detect the failure for testing feature
> libopencsd, the build process will be aborted and it shows the complaint
> info.
>
> Committer testing:
>
> First make sure there is no opencsd library installed:
>
> $ rpm -qa | grep -i csd
> $ sudo rm -rf `find /usr/local -name "*csd*"`
> $ find /usr/local -name "*csd*"
> $
>
> Then cleanup the perf build output directory:
>
> $ rm -rf /tmp/build/perf ; mkdir -p /tmp/build/perf ;
> $
>
> And try to build explicitely asking for coresight:
>
> $ make O=/tmp/build/perf CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin
The build command contains duplicate 'O=/tmp/build/perf'.
> make: Entering directory '/var/home/acme/git/perf/tools/perf'
> BUILD: Doing 'make -j24' parallel build
> HOSTCC /tmp/build/perf/fixdep.o
> HOSTLD /tmp/build/perf/fixdep-in.o
> LINK /tmp/build/perf/fixdep
> Makefile.config:493: *** Error: No libopencsd library found or the version is not up-to-date. Please install recent libopencsd to build with CORESIGHT=1. Stop.
> make[1]: *** [Makefile.perf:238: sub-make] Error 2
> make: *** [Makefile:113: install-bin] Error 2
> make: Leaving directory '/var/home/acme/git/perf/tools/perf'
> $
>
> Now install the opencsd library present in Fedora 34:
>
> $ sudo dnf install opencsd-devel
> <SNIP>
> Installed:
> opencsd-1.0.0-1.fc34.x86_64 opencsd-devel-1.0.0-1.fc34.x86_64
> Complete!
> $
>
> Try again building with coresight:
>
> $ make O=/tmp/build/perf CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin
> make: Entering directory '/var/home/acme/git/perf/tools/perf'
> BUILD: Doing 'make -j24' parallel build
> Makefile.config:493: *** Error: No libopencsd library found or the version is not up-to-date. Please install recent libopencsd to build with CORESIGHT=1. Stop.
> make[1]: *** [Makefile.perf:238: sub-make] Error 2
> make: *** [Makefile:113: install-bin] Error 2
> make: Leaving directory '/var/home/acme/git/perf/tools/perf'
> $
>
> Since Fedora 34 is pretty recent, one assumes we need to get it from its
> upstream git repository, use rpm to find where that is:
>
> $ rpm -q --qf "%{URL}\n" opencsd
> https://github.com/Linaro/OpenCSD
> $
>
> Go there, clone the repo, build it and install into /usr/local, then try
> again:
>
> $ cd ~acme/git/perf
> $ make O=/tmp/build/perf VF=1 CORESIGHT=1 O=/tmp/build/perf -C tools/perf install-bin | grep -i opencsd
> ... libopencsd: [ on ]
> PERF_VERSION = 5.14.g454719f67a3d
> $ export LD_LIBRARY_PATH=/usr/local/lib
> $ ldd ~/bin/perf | grep opencsd
> libopencsd_c_api.so.1 => /usr/local/lib/libopencsd_c_api.so.1 (0x00007f28f78a4000)
> libopencsd.so.1 => /usr/local/lib/libopencsd.so.1 (0x00007f28f6a2e000)
> $
>
> Now it works.
Good to know the very detailed steps. Thanks a lot for writing up
this!
Leo
next prev parent reply other threads:[~2021-09-02 12:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-02 8:18 Leo Yan
2021-09-02 12:22 ` Arnaldo Carvalho de Melo
2021-09-02 12:45 ` Leo Yan [this message]
2021-09-02 13:00 ` Arnaldo Carvalho de Melo
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=20210902124529.GH303522@leoy-ThinkPad-X240s \
--to=leo.yan@linaro.org \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=james.clark@arm.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=suzuki.poulose@arm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®