Re: [tip:perf/core] perf tools: Add feature check for libbabeltrace

From: Ingo Molnar
Date: Sat Feb 28 2015 - 04:25:17 EST



* tip-bot for Jiri Olsa <tipbot@xxxxxxxxx> wrote:

> Commit-ID: 53d0a57343949b2af9b27229db534b98e5a0c4d0
> Gitweb: http://git.kernel.org/tip/53d0a57343949b2af9b27229db534b98e5a0c4d0
> Author: Jiri Olsa <jolsa@xxxxxxxxxx>
> AuthorDate: Fri, 20 Feb 2015 23:16:58 +0100
> Committer: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> CommitDate: Wed, 25 Feb 2015 12:42:24 -0300
>
> perf tools: Add feature check for libbabeltrace
>
> Adding feature check for babeltrace library [1], which will be used for
> perf data file CTF [2] conversion in following patches.

So this doesn't work on recent Ubuntu systems:

... libbabeltrace: [ OFF ]

triton:~/tip/tools/perf/config/feature-checks> make
test-libbabeltrace.bin
gcc -MD -Wall -Werror -o test-libbabeltrace.bin test-libbabeltrace.c
# -lbabeltrace provided by
test-libbabeltrace.c: In function âmainâ:test-libbabeltrace.c:6:2: error: implicit declaration of function âbt_ctf_stream_class_get_packet_context_typeâ [-Werror=implicit-function-declaration]
bt_ctf_stream_class_get_packet_context_type((void *) 0);
^
cc1: all warnings being treated as errors
Makefile:140: recipe for target 'test-libbabeltrace.bin' failed

I have all the requirements, libbabeltrace-ctf-dev and
libbabeltrace-dev installed, yet the writer.h file:

-rw-r--r-- 1 root root 5283 Oct 7 14:44 /usr/include/babeltrace/ctf-writer/writer.h

does not include a prototype for
bt_ctf_stream_class_get_packet_context_type().

If Ubuntu's writer.h is too old then either our API use should match
the ones available:

triton:~/tip/tools/perf/config/feature-checks> grep extern
/usr/include/babeltrace/ctf-writer/writer.h
extern "C" {
extern struct bt_ctf_writer *bt_ctf_writer_create(const char *path);
extern struct bt_ctf_stream *bt_ctf_writer_create_stream(
extern int bt_ctf_writer_add_environment_field(struct bt_ctf_writer *writer,
extern int bt_ctf_writer_add_clock(struct bt_ctf_writer *writer,
extern char *bt_ctf_writer_get_metadata_string(struct bt_ctf_writer *writer);
extern void bt_ctf_writer_flush_metadata(struct bt_ctf_writer *writer);
extern int bt_ctf_writer_set_byte_order(struct bt_ctf_writer *writer,
extern void bt_ctf_writer_get(struct bt_ctf_writer *writer);
extern void bt_ctf_writer_put(struct bt_ctf_writer *writer);

or CTF support should be removed from the default set of perf
features, because right now it blocks the 'all' build speedup.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/