Re: [PATCH 01/12] perf tools: Enable LIBBABELTRACE by default
From: Arnaldo Carvalho de Melo
Date: Mon Jan 08 2018 - 10:24:41 EST
Em Mon, Jan 08, 2018 at 12:20:37PM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Jan 08, 2018 at 12:17:09PM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Sun, Jan 07, 2018 at 05:03:45PM +0100, Jiri Olsa escreveu:
> > > There's no reason anymore to treat babel trace in a special way,
> > > because a) we no longer display its state b) the needed babeltrace
> > > library is now out and well adopted among distros.
> >
> > Humm, after I applied this I got:
> >
> > [acme@jouet perf]$ perf
> > perf: error while loading shared libraries: libbabeltrace-ctf.so.2: cannot open shared object file: No such file or directory
> > [acme@jouet perf]$
> >
> > So it detects it somehow, builds with it, then fails to find it in the
> > LD_LIBRARY_PATH somehow?
>
> [acme@jouet perf]$ ldd ~/bin/perf | grep babel
> libbabeltrace-ctf.so.2 => not found
> [acme@jouet perf]$
>
> [acme@jouet perf]$ tail -5 /tmp/build/perf/feature/test-libbabeltrace.d
> /usr/local/include/babeltrace/ctf-ir/visitor.h \
> /usr/local/include/babeltrace/values.h \
> /usr/local/include/babeltrace/ref.h \
> /usr/local/include/babeltrace/graph/notification.h \
> /usr/local/include/babeltrace/ctf-ir/stream-class.h
> [acme@jouet perf]$
>
> so I don't have it in LD_LIBRARY_PATH:
>
> [acme@jouet perf]$ export LD_LIBRARY_PATH=/usr/local/lib/
> [acme@jouet perf]$ ldd ~/bin/perf | grep babel
> libbabeltrace-ctf.so.2 => /usr/local/lib/libbabeltrace-ctf.so.2 (0x00007f6322e83000)
> [acme@jouet perf]$ perf stat -e cycles sleep 1
>
> Performance counter stats for 'sleep 1':
>
> 384,636 cycles:u
>
> 1.001294682 seconds time elapsed
>
> [acme@jouet perf]$
>
> Will try removing this local install and use what is in fedora27
> instead...
Works:
[acme@jouet perf]$ ldd ~/bin/perf | grep babel
libbabeltrace-ctf.so.1 => /lib64/libbabeltrace-ctf.so.1 (0x00007fcb688d0000)
libbabeltrace.so.1 => /lib64/libbabeltrace.so.1 (0x00007fcb67e92000)
[acme@jouet perf]$ rpm -q libbabeltrace-devel
libbabeltrace-devel-1.5.3-1.fc27.x86_64
[acme@jouet perf]$
But then, if we show:
Auto-detecting system features:
... 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 ]
Shoudln't we tell the user that babeltrace was linked too?
- Arnaldo