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

Jin, Yao
2018-03-22T01:04:14Z

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