Re: [PATCH] perf util: Display warning when perf report/annotate is missing some libs

From: Jin, Yao
Date: Wed Mar 21 2018 - 21:06:04 EST




On 3/21/2018 11:38 PM, Jiri Olsa wrote:
On Wed, Mar 21, 2018 at 10:11:10AM +0800, Jin, Yao wrote:
Hi Jiri,

I'm still thinking it's worth displaying the warning when perf missing some
libraries.

Somebody just told me that perf didn't work well. While after some
investigations, I found it's just missing some libraries when building the
perf.

But I have spent some time on getting the root cause. If with this patch, it
should be very easily to know that.

true.. Arnaldo, any feedback on this one?

I just think it'd better provide some hints to user. For example,
"symbol is disabled and you need to install libelf/xxx", say something
like that.

But it looks the column can't contain too much information (i.e. no more
space to contain the entire hints).

Any idea? Or just add this warning in verbose mode?

also your change does not affect tui mode

annotation for some reason does not start at all.. could be
little more verbose ;-)

jirka


Yes, it doesn't affect tui mode.

Or we just add this warning in verbose mode?

e.g. perf report -v?

how about displaying libraries separately with -vv output,
that would mimic the build message, like:

$ ./perf -vv
perf version 4.16.rc6.g18fd48

dwarf: [ on ]
dwarf_getlocations: [ on ]
glibc: [ on ]
gtk2: [ on ]
libaudit: [ on ]
libbfd: [ on ]
libelf: [ on ]
libnuma: [ on ]
numa_num_possible_cpus: [ on ]
libperl: [ on ]
libpython: [ on ]
libslang: [ on ]
libcrypto: [ on ]
libunwind: [ on ]
libdw-dwarf-unwind: [ on ]
zlib: [ on ]
lzma: [ on ]
get_cpuid: [ on ]
bpf: [ on ]

and perf -vvv could display the 'make VF=1' info

jirka


I'm just afraid that the newbie will not check the -vv on his own when he gets trouble in using perf.

In other words, if a user is experienced and he knows -vv yet, I may assume that he should know installing all libraries before building the perf.

This patch is specific for the perf newbie. It will directly shows the error/warning when the user launches the perf binary. It will have a little bit helps, I guess. :)

Thanks
Jin Yao