Re: [PATCH] perf util: Display warning when perf report/annotate is missing some libs
From: Arnaldo Carvalho de Melo
Date: Wed Mar 21 2018 - 11:43:57 EST
Em Wed, Mar 21, 2018 at 12:40:35PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Mar 21, 2018 at 04:38:07PM +0100, Jiri Olsa escreveu:
> > 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?
>
> Lemme re-read the thread...
Well, how about we make it harder to build without key libraries? I.e.
if we detect that what we consider a core set of libraries isn't found
in the system, then we stop the build, warn about it and ask the user to
confirm that the build should proceed by passing some explicit
-DI_KNOW_WHAT_I_AM_DOING___PROCEED=doit
?
- Arnaldo
>
> > > > 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