On Tue, Mar 10, 2015 at 10:11 AM, Jiri Olsa <jo...@redhat.com> wrote: > On Tue, Mar 10, 2015 at 11:01:34AM -0300, Arnaldo Carvalho de Melo wrote: >> Em Tue, Mar 10, 2015 at 01:00:35PM +0100, Jiri Olsa escreveu: >> > On Mon, Mar 09, 2015 at 08:28:45PM -0300, Arnaldo Carvalho de Melo wrote: >> > > Em Mon, Mar 09, 2015 at 08:11:19PM -0300, Arnaldo Carvalho de Melo >> > > escreveu: >> > > > Em Mon, Mar 09, 2015 at 06:51:21PM -0300, Arnaldo Carvalho de Melo >> > > > escreveu: >> > > [root@zoo ~]# find /opt/libbabeltrace/include/babeltrace/ -type f | >> > > xargs grep bt_ctf_stream_class_get_packet_context_type >> > > /opt/libbabeltrace/include/babeltrace/ctf-ir/stream-class.h:extern >> > > struct bt_ctf_field_type *bt_ctf_stream_class_get_packet_context_type( >> >> > > That seems to be included from the file included in the feature test >> > > code :-\ >> > > Really ran out of time now... >> >> > ouch, thanks a lot for debugging.. the reason is indeed the -Werror added >> > by: >> > b49f1a4be701 perf tools: Improve feature test debuggability >> >> > following patch seems to fix this for me >> > --- >> > Following patch added -Werror for feature builds: >> > b49f1a4be701 perf tools: Improve feature test debuggability >> >> > and broke libbabeltrace feature build, because it was including >> > wrong header and gcc couldn't find the used symbol definition. >> >> > Adding proper header and keeping the old one as it is needed >> > also (libbabeltrace quirk). >> >> > +++ b/tools/perf/config/feature-checks/test-libbabeltrace.c >> > #include <babeltrace/ctf-writer/writer.h> >> > +#include <babeltrace/ctf-ir/stream-class.h> >> >> Right, that was the fix I found as well, well, I was trying to include >> _just_ babeltrace/ctf-ir/stream-class.h, but that is buggy in that it >> doesn't include the header file with the uint32_t and int64_t types: > > yep, thats the 'libbabeltrace quirk' I mentioned in the changelog ;-) >
Seems I missed that being discussed. Fixed in Babeltrace master as of 48d711aa2. Jérémie >> >> [acme@zoo linux]$ cat >> /tmp/build/perf/config/feature-checks/make-libbabeltrace >> make[1]: Entering directory >> `/home/git/linux/tools/perf/config/feature-checks' >> gcc -MD -I/opt/libbabeltrace//include -Wall -Werror -o >> /tmp/build/perf/config/feature-checks/test-libbabeltrace.bin >> test-libbabeltrace.c -Wl,-z,noexecstack -L/opt/libbabeltrace//lib >> -lbabeltrace-ctf # -lbabeltrace provided by >> In file included from test-libbabeltrace.c:2:0: >> /opt/libbabeltrace//include/babeltrace/ctf-ir/stream-class.h:118:1: error: >> unknown type name ‘int64_t’ >> extern int64_t bt_ctf_stream_class_get_id( >> ^ >> /opt/libbabeltrace//include/babeltrace/ctf-ir/stream-class.h:134:45: error: >> unknown type name ‘uint32_t’ >> struct bt_ctf_stream_class *stream_class, uint32_t id); >> ^ >> make[1]: *** [test-libbabeltrace.bin] Error 1 >> make[1]: Leaving directory `/home/git/linux/tools/perf/config/feature-checks' >> [acme@zoo linux]$ >> >> > >> > int main(void) >> > { >> > -- >> > 1.9.3 >> >> Ah, I found the following patch useful in debugging this, if you're ok with >> it, >> I'll put it in my tree with your Acked-by, ok? >> >> - Arnaldo >> >> [acme@zoo linux]$ git diff tools/perf/config/Makefile >> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile >> index e2350ada6ccd..4992c39652e6 100644 >> --- a/tools/perf/config/Makefile >> +++ b/tools/perf/config/Makefile >> @@ -184,7 +184,7 @@ endif >> >> feature_check = $(eval $(feature_check_code)) >> define feature_check_code >> - feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) >> CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) >> $(FEATURE_CHECK_LDFLAGS-$(1))" -C config/feature-checks test-$1.bin >> >/dev/null 2>/dev/null && echo 1 || >> + feature-$(1) := $(shell $(MAKE) OUTPUT=$(OUTPUT_FEATURES) >> CFLAGS="$(EXTRA_CFLAGS) $(FEATURE_CHECK_CFLAGS-$(1))" LDFLAGS="$(LDFLAGS) >> $(FEATURE_CHECK_LDFLAGS-$(1))" -C config/feature-checks test-$1.bin > >> $(OUTPUT_FEATURES)make-$(1) 2>&1 >> endef > > ack, that seem usefull.. I always redirected this to '>> /tmp/krava' > never got enough will to make it nice and generic ;-) > > thanks, > jirka -- Jérémie Galarneau EfficiOS Inc. http://www.efficios.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/